提问者:小点点

SWT组合监听器getText()未更新


各位SWT程序员您好,

今天我想在我的自定义SWT组合视图中添加一个侦听器。(有点修改)代码:

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()返回它在事件触发之前包含的文本。

如何解决此问题并在此侦听器中获取更新的组合文本输入?我不能使用ModifyListener,它必须是侦听器接口(因为我需要在事件类型之间有所不同并相应地做一些事情)。

提前感谢,

论坛浏览器


共1个答案

匿名用户

SWT. ALL不是addListener的合法值。碰巧它会被解释为SWT.KeyDown

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

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