【发布时间】:2017-03-19 11:44:18
【问题描述】:
我创建了一个用于检测连接到计算机的设备数量的 for 循环。然后这会创建 2 个 JFrame,因此每个设备都有自己的窗口。我现在想向这些窗口添加数据,所以我在 for 循环中创建了一个 while 循环。但这会阻止 for 循环完成,这意味着只有一个 JFrame 显示数据,而第二个 JFrame 不可见。如果我从 for 循环中删除 while 循环,则会出现 2 个窗口,但只有一个窗口显示数据,而另一个窗口为空白。所以问题是我如何让多个 while 循环运行以基于 for 循环在多个 JFrame 上显示数据。
for(int i = 0; i < controllers.length; i++) {
if(controllers[i].getType() == Controller.Type.STICK) {
window = new JFrameWindow();
while(true)
{
【问题讨论】:
-
删除
while(true)并使用可以评估为false的真实条件并让循环在某个点结束。 -
也许你可以看看Observer Pattern
-
@BackSlash 但是数据是不断变化的。仅当设备从计算机中移除时,while 循环才会中断。
-
@AndrewMontague 然后使用线程。或者像死神建议的那样使用观察者模式。像这样的 while 循环会让你的程序永远挂起,而你不希望这种情况发生。
-
考虑让一个
JFrame持有多个组件来显示数据。
标签: java for-loop while-loop jinput