SWT Combo Listener getText()未更新

时间:2014-06-30 14:55:40

标签: java swt

你好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

1 个答案:

答案 0 :(得分:2)

SWT.ALL不是addListener的有效值。碰巧它将被解释为SWT.KeyDown

使用SWT.Modify侦听修改事件:

combo.addListener(SWT.Modify, new Listener() {