在我的代码中,我为文本的某些单词创建了文本框 这是一段代码
for (String word : text){
if(word.equals("space")){
textbox = new TextBox();
textbox.addKeyDownHandler(new EnterKeyHandler());
panel.add(textbox);
...
}}
工作正常,文本框出现在屏幕上。
然后我有这个代码来处理用户输入
private class EnterKeyHandler implements KeyDownHandler {
public void onKeyDown(KeyDownEvent event) {
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
Window.alert("enter" + textbox.getText());
List.add(textbox.getText()); //adds the word to an array
}
}
}
我遇到的问题是,当用户插入内容并按回车键时,textbox.getText()
没有文字。程序在这里停止。
答案 0 :(得分:0)
因为我有很多文本框,所以我必须使用textbox = (TextBox) event.getSource();
所以它工作正常
private class EnterKeyHandler implements KeyDownHandler {
public void onKeyDown(KeyDownEvent event) {
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
textbox = (TextBox) event.getSource();
Window.alert("enter" + textbox.getText());
List.add(textbox.getText()); //adds the word to an array
}
}
}