【发布时间】:2018-11-28 04:58:17
【问题描述】:
所以我试图运行一个代码,打开一个 GUI 窗口,在两个按钮之间进行选择,这两个按钮设置一个值,然后用这个值继续其余的代码。
我看过类似的问题或教程,但我没有找到适合我的问题的解决方案。
正如我已经看到的,必须使用 JFrame、ActionListener 和 ActionEvent 来制作带有按钮的 GUI。
在main方法中写了一个扩展JFrame并实现ActionListener的Object。
问题是,在 main 方法 中编写的代码会打开 GUI 窗口并继续运行。我只是希望代码等到用户单击按钮然后继续。
一个子解决方案是,在 actionPerformed 方法中编写我想要的代码,但是:
- 选择按钮后,GUI 窗口保持打开状态
- 在 actionPerformed 方法中编写其余代码对我来说毫无意义。
或者写一个while循环,直到一个按钮被点击。必须存在一个我不知道或我不明白它应该如何工作的更明智的解决方案。
这是部分代码。
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == testStringA) {
setVariableTo = "testString_a";
try {
runMethodWithNewVariable(setVariableTo);
} catch (IOException e1) {
e1.printStackTrace();
}
System.exit(0);
} else {
setVariableTo = "project";
try {
runMethodWithNewVariable(setVariableTo);
} catch (IOException e1) {
e1.printStackTrace();
}
System.exit(0);
}
}
【问题讨论】:
-
澄清一下:您是否希望在您的 JFrame 上调用
setVisible()后阻止您的main()方法? -
是的。我在 main 方法 setVisible(true) 中初始化 GUI 对象,然后遵循另一个使用用户输入的方法。这是有道理的,代码只会运行,不会因用户输入而停止。
标签: java user-interface jbutton