【发布时间】:2011-10-25 04:24:54
【问题描述】:
是否可以在 j2me 中为文本字段设置 onchange 侦听器?
【问题讨论】:
标签: java-me textfield onchange midp lcdui
是否可以在 j2me 中为文本字段设置 onchange 侦听器?
【问题讨论】:
标签: java-me textfield onchange midp lcdui
当然。为此使用ItemStateListener:
// below assumes that 'form' contains 'textField' which changes you want to listen to
form.setItemStateListener(new ItemStateListener() {
public itemStateChanged(Item item) {
if (item != textFiled) {
return; // ignore other items
}
System.out.println("contents: [" + textField.getString() + "]");
}
});
值得牢记有关如何根据 API 文档调用 itemStateChanged 的详细信息:
...当用户...输入或修改 TextField 中的值...
由设备决定何时认为具有新值 被输入到一个项目中。例如,文本的实现 在 TextField 中的编辑因设备而异。
一般情况下,不期望监听器会在之后被调用 每一次改变都发生了。但是,如果项目的值已更改, 将调用侦听器以通知应用程序更改 在它被要求对另一个项目进行更改之前,以及在命令之前 被传递到表单的 CommandListener。对于实现 有输入焦点的概念,监听器应该叫no 晚于焦点离开状态已被更改的项目时 改变了。只有当项目的值具有 实际上已经改变了。
如果应用程序更改了 互动项目。
【讨论】: