你好SWT程序员,
今天我想在我的自定义SWT Combo视图中添加一个Listener。 (有点修改)代码:
combo.addListener(SWT.ALL, new Listener() {
@Override
public void handleEvent(Event event) {
//some irrelevant code
String text = combo.getText();
System.out.println(text);
}
但是,当我在文本字段中输入内容时,输出在触发事件之前的组合视图中的文本,这意味着combo.getText()在触发事件之前返回它包含的文本。 / p>
如何解决此问题并在此监听器中获取更新的Combo文本输入? 我不能使用ModifyListener,它必须是Listener接口(因为我需要区分事件类型并相应地执行操作)。
提前致谢,
forumfresser
答案 0 :(得分:2)
SWT.ALL
不是addListener
的有效值。碰巧它将被解释为SWT.KeyDown
。
使用SWT.Modify
侦听修改事件:
combo.addListener(SWT.Modify, new Listener() {