【发布时间】:2013-10-03 18:03:46
【问题描述】:
我已经完成了一个 GUI 应用程序。我有四个班级:Main, UserWindow, Task1, Task2。 Main 类包含一个布尔变量 buttonStartPressed。 Main 方法启动 UserWindow 类的一个实例,并等待用户按下开始按钮。当用户按下开始按钮(在UserWindow 中)时,ActionListener 将true 分配给static boolean buttonStartPressed,Main 方法继续。
Main.java
public static void ......
static boolean buttonStartPressed = false;
...........
while (!buttonStartPress) {
Thread.sleep(50);
}
Task1 t1 = new Task1();
.....
}
}
效果很好,但是我不喜欢while 循环。我觉得这不是编写应用程序的常规方式。还有另一种方法:我可以结合Main 和UserWindow 类,ActionListener (buttonPressed) 的结果将是Task1 的开始。但是,另一方面,我认为Main 类和UserWindow 类应该彼此分开。
【问题讨论】:
-
你考虑过 Swing 教程吗?
-
你的问题是..?
-
我不明白调用关闭的原因如何适用于这个问题。 OP 确实 对问题的了解很少,因为他找到了解决问题的方法。他只是(理所当然地)怀疑他的解决方案是一个好的解决方案。我也不觉得这个问题缺少信息。他的意图和他当前的解决方案都得到了明确的解释。
-
@barjak 我也认为这个问题不应该被关闭,尽管它可能更适合codereview.stackexchange.com 或programmers.stackexchange.com。但是很多问题都与这三个重叠,我认为应该有一个合并的观点。这个可以搬吗?
标签: java swing user-interface actionlistener thread-sleep