【发布时间】:2013-04-24 03:42:58
【问题描述】:
我的程序中有一个 JTextField,我通过使用匿名内部类连接了一个键盘侦听器。侦听器清除文本框并保存当前在其上的单词。
我希望能够在代码的其他部分使用我从中得到的那个词,但我知道内部类中使用的所有变量都必须标记为 final.. 那么我该怎么做呢?
这是我的简化代码,给你们一个想法 - 我希望能够使用 userWord
typingArea.addKeyListener(new KeyAdapter() {
public void keyPressed (KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) { // enter key is pressed
userWord = typingArea.getText().toLowerCase();
typingArea.setText("");
}
}
});
编辑:刚刚想到可能将它作为构造函数变量传递给我可以创建的另一个对象,然后该对象将能够提取并保存该字符串..这可行吗?对不起,如果我在询问后一秒钟就想到了解决方案,那么毫无意义的问题,哈哈。
【问题讨论】:
标签: java swing jtextfield inner-classes anonymous-inner-class