0

我的问题有点复杂,因为我的程序有点大,我不能把它都放在这里。无论如何,这里是问题的描述:程序有一个JTextField,和JTextArea。当用户通过 getText 和 addActionListener 搜索单词时,它会将输入的单词发送到动作侦听器,在动作侦听器中搜索结果,然后在命令行中打印出来。但我希望动作侦听器将其发送回有 JTextArea 的上一个类。在文本区域中显示搜索结果。

所以现在在搜索部分,有一个 system.print.out() 代码,但我应该替换一些东西把它发回去。

那么有什么想法吗?提前致谢。

4

3 回答 3

1
public void actionPerformed(ActionEvent e) {
    String result = search(textField.getText());
    textArea.append(result);
}
于 2013-02-11T21:52:59.547 回答
0

如果你的 actionListener 是一个全新的类,你必须首先给它基类(即包含 guiElements 的类)作为参数(最好在初始化时),然后 actionListener 可以调用这个基类的方法,当事件被触发。


如果你以这种方式声明actionlistener

guielement.addsomeactionlistener(new actionlistener{ implementable methods});


您可以简单地调用基类的方法,而无需在初始化时提供基类。

于 2013-02-11T21:56:44.493 回答
0

我认为如果不了解更多关于程序结构的信息,就没有办法回答这个问题,除非说持有 JTextArea 的类需要有一个公共方法,允许你传入一个字符串,然后它会附加到 JTextArea 的字符串。这一切都是为了确保需要引用的类具有对正确对象的有效引用,以便它们可以在需要时对这些对象调用适当的方法。ActionListener 如何再次获得对持有 JTextArea 的类的引用完全取决于程序的结构。

于 2013-02-11T21:53:46.893 回答