我有一个类打开一个带有列表的窗口,用户可以从中选择一个项目。所有这些都有效,如果选择了一个列表项,则会存储该值,窗口中会有一个保存值并关闭窗口的按钮。
这就是窗口的样子。
现在我的问题:我需要一个方法来返回用户单击“确定”时选择的值。我的尝试看起来像这样:
{{1}}
问题是,此方法会立即继续运行,因此不会等待用户单击按钮并保存其选择。现在,我已经阅读了关于多线程并使该方法等待其他类完成运行的类,但我还没有找到一个教程,我明白了它是如何工作的。
我非常感谢,如果你们其中一位经验丰富的编码员有一个链接到一个简单的教程或想法来解决这个问题。我想有一个简单的,我无法找到。
答案 0 :(得分:1)
我认为这种材料很有用 https://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html
它有很好的按钮示例)
它是关于听众的官方文档,如果你太难理解,试图找到关于该主题的smth
简单地说 - ActionListener是一个“监听”或等待某个事件的类,在你的情况下 - 按下按钮,当它发生时开始执行你想要的某些动作)
public Field selected;
public void actionPerformed(ActionEvent e) {
selected = fs.saved;
}
public Field returnSelectedField() {
return selected;
}