Tout d'abord, salut tout le monde. Je suis nouveau ici et j'ai juste commencé à apprendre gwt. Il y a une chose que je ne comprends pas concernant l'exemple d'un stockwatch. Tout d'abord, il existe une méthode d'ajout de stock, qui ajoute un nouveau stock à une liste. À l'intérieur de cette méthode, nous ajoutons également le bouton Supprimer et l'écouteur attaché. Ma question est, comment est-il possible que indexOf attr est défini, quand vous n'inscrivez pas cette partie du code lorsque vous ajoutez un nouveau stock, vous n'entrerez dans cette partie que lorsque vous cliquez sur le bouton Supprimer. Mais ce code fonctionne, et je ne peux pas trouver d'explication pourquoi .. J'ai essayé de déboguer l'application, mais j'ai encore du mal à me désintéresser. Désolé pour mon mauvais anglais.GWT - exemple de stockwatch - explication de la gestion des événements
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();
}