多线程和图形

时间:2012-03-21 06:48:33

标签: java multithreading swing repaint

我的项目基于多线程和图形。问题在于调用repaint()方法。我试图从第二类调用repaint方法实现runnable,而paint()方法在类中首先扩展Canvas。但重画不工作。 我该怎么办?

日Thnx

2 个答案:

答案 0 :(得分:1)

如果您覆盖Canvas的{​​{3}}方法并在其上绘制,而不是覆盖JComponent方法,那将是明智的,而不是使用paint(...)

答案 1 :(得分:0)

特别是在Swing下的Component.repaint()方法只将组件标记为需要重绘,它实际上并不直接触发重绘。

确保通过调用Thread.yield()允许其他线程运行,因为它是主图形线程(它启动了你的其他线程)实际检查组件以查看需要重新绘制的内容。