我正在使用 CodenameOne 构建一个应用程序,并希望使用 TextField 来过滤一长串项目。我尝试使用 DataChangedListener,如建议的那样https://www.codenameone.com/javadoc/com/codename1/ui/TextField.html https://www.codenameone.com/javadoc/com/codename1/ui/TextField.html,但这只会在用户完成编辑(即按“回车”键)后触发事件。如何获取文本字段中每个字符更改的事件?
DataChangedListener
确实会在每次按键输入时触发,而不是在Enter
键被按下(这是为了actionListener
).
private String filterString = "";
...
filterTextField.addDataChangedListener((evt1, evt2) -> {
if (filterTextField.getText().trim().length() > 0 && !filterString.equalsIgnoreCase(filterTextField.getText().trim())) {
//perform your filter here
//revalidate your form
}
filterString = filterTextField.getText().trim();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)