Java Eclipse侦听器和获取源代码时出现问题

Java Eclipse侦听器和获取源代码时出现问题,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,在我的Eclipse项目中,我有一个 Text custom_text = new Text(....); 现在我添加一个侦听器- 自定义_text.addKeyListener(新) KeyListener(){ @覆盖已按下的公共无效键(KeyEvent事件){ } @凌驾于公共空间之上 keyReleased(KeyEvent事件){ System.err.println(“事件 “+event.getSource()) }}) 无论如何,我没有得到源名称,尽管我得到的输出是文本{}。

在我的Eclipse项目中,我有一个

Text custom_text = new Text(....);
现在我添加一个侦听器-

自定义_text.addKeyListener(新) KeyListener(){

@覆盖已按下的公共无效键(KeyEvent事件){

}

@凌驾于公共空间之上 keyReleased(KeyEvent事件){ System.err.println(“事件 “+event.getSource())

}})

无论如何,我没有得到源名称,尽管我得到的输出是文本{}。 我想得到源代码名,即自定义文本

如何将侦听器中的输出作为 自定义文本


IMHO无法输入变量的名称,保留对textfield的引用。知道变量的名称也没有什么用处,因为可以有许多引用变量


使用.getSource()可以获得对小部件本身的完整引用,因此可以以任何方式处理它。

可以使用event.widget来识别哪个小部件通知事件

但一般的方法是使用匿名侦听器进行中继。 因为它可以使用更可读的方法名,这更适合控制器的主题

Text nameField, emailField = ...

nameField.addListener(SWT.KeyUp, new Listener(){
    public void handleEvent(Event e){
        handleNameEdited();   
    } 
});

emailField.addListener(SWT.KeyUp, new Listener(){
   public void handleEvent(Event e){
       handleEmailEdited();
   }
});

事实上,我期待的名称,因为一些其他用途。此外,getSource()只将Text()打印为输出。所以我被卡住了。实际上在摇摆中。。我们得到对象引用名。因此,我希望这里也有同样的行为,你永远不会得到“自定义文本”。这些信息在编译时丢失。此源仍然是对象引用,它只是重写toString()并输出“Text{}”。Swing也不会根据您所写的内容打印“自定义_文本”。或者你的意思是你想要文本小部件的内容?是的。。我对自己的目标感到困惑@最重要的是,他们的观点是正确的。。。