所以我试图设置一个应用程序,其中我有一个jframe内的多个面板。可以说其中3个纯粹用于显示目的,其中一个用于控制目的。我使用的是borderLayout,但我不认为布局应该真的影响这里的东西。我想要的三个显示面板的重新绘制在控制面板中的按钮的控制下,并且我希望它们在按下控制面板上的按钮时都同步执行。要做到这一点,我成立了这个小方法:从单个“控制”面板重新绘制多个JPanel
public void update(){
while(ButtonIsOn){
a.repaint();
b.repaint()
c.repaint();
System.out.println("a,b, and c should have repainted");
}
}
其中a,b和c都显示面板,我想A,B和C的所有重绘汽车无,直到我再次按下按钮。问题是,当我执行循环时,消息在无限循环中打印,但是没有任何面板执行任何操作,即它们都不重绘。
我一直在阅读关于事件调度线程和swing多线程,但我迄今发现的东西都没有真正解决我的问题。有人能告诉我我在这里做错了什么,或者甚至更好,处理我描述的情况的一些示例代码?谢谢...
*一个很好的教程*为了更好地帮助越早,张贴[SSCCE(HTTP“..来处理我所描述的情况的一些示例代码?”:// SSCCE。组织/)。 – 2012-04-09 08:21:16
请学习java命名约定并坚持使用它们。 – kleopatra 2012-04-09 09:06:22
究竟是什么问题(除了你的无限循环,由不重置控制while的布尔值引起)?该面板的_none究竟做了什么,即没有一个repaint_ manifest? – kleopatra 2012-04-09 09:07:40