Ano*_*181 1 java swing multithreading paint
我有一个使用线程的Java程序.在我的run方法中,我有:
public void run() {
while(thread != null){
repaint();
System.out.println("hi");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
break;
}
}
}
public void paintComponent(Graphics g) {
// painting stuff
}
Run Code Online (Sandbox Code Playgroud)
问题是执行了run方法,但是paintComponent没有调用该节.如果这不是重新绘制组件的正确方法,那么我应该如何重新绘制它?
Cal从Swing重新粉刷Timer.这不会阻止GUI,并且会在计时器中指定的任何时间间隔内发生.当然,根据Swing/AWT绘画的性质,如果将计时器设置为重复得太快,则可以合并对绘画的调用(实际上被忽略).
此外,请确保该方法是使用以下方式覆盖:
@Override
public void paintComponent(Graphics g){
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3635 次 |
| 最近记录: |