gpt4 book ai didi

java - GWT - stockwatch 示例 - 事件处理说明

转载 作者:行者123 更新时间:2023-12-01 14:09:50 25 4
gpt4 key购买 nike

首先大家好。我是新来的,刚刚开始学习 gwt。关于 Stockwatch 的例子,我不明白一件事。首先,有添加库存方法,它将新库存添加到列表中。在该方法中,我们还添加删除按钮并将监听器附加到它。我的问题是,如何设置indexOf attr,当您添加新股票时不输入该部分代码时,只有在单击“删除”按钮时才输入该部分代码。但这段代码有效,我找不到解释为什么......我尝试调试应用程序,但仍然难以理解。对不起,我的英语不好。

private void addStock()
{
final String symbol = newSymbolTextBox.getText().toUpperCase().trim();

//validaciju vrsimo upotrebom regularnih izraza
if(symbol.matches("[0-9A-Z]"))
{
Window.alert("'" + symbol + "' is not a valid symbol.");
newSymbolTextBox.selectAll();
return;

}

newSymbolTextBox.setText("");

if(stocks.contains(symbol))
{
return;
}

int row = stocksFlexTable.getRowCount();
stocks.add(symbol);
stocksFlexTable.setText(row, 0, symbol);
Button removeStockButton = new Button("x");

removeStockButton.addClickHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) {
int indexOf = stocks.indexOf(symbol);
stocks.remove(indexOf);
stocksFlexTable.removeRow(indexOf + 1);

}
});

stocksFlexTable.setWidget(row, 3, removeStockButton);

refreshWatchList();
}

最佳答案

My question is, how is it possible that indexOf attr is set, when u dont enter that part of code when u add new stock, u only enter that part when u click remove button.

了解anonymous inner classes作为事件监听器。 new ClickHandler() 为每个 Button 提供一个处理程序,该处理程序捕获单击事件,并具有在按下特定删除按钮时删除该行的功能。每个按钮都有自己的 clickHandler。

indexOf 对于变量来说并不是一个好名字。我宁愿坚持使用 www.gwtproject.org 中使用的 removedIndex示例代码:

    // Add a button to remove this stock from the table.
Button removeStockButton = new Button("x");
removeStockButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
int removedIndex = stocks.indexOf(symbol);
stocks.remove(removedIndex);
stocksFlexTable.removeRow(removedIndex + 1);
}
});
stocksFlexTable.setWidget(row, 3, removeStockButton);

关于java - GWT - stockwatch 示例 - 事件处理说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com