2012-03-21 31 views
0

我的项目是基于多线程和图形。问题在于调用repaint()方法。我试图从第二类,其实现Runnable和油漆调用重绘方法()方法是在课堂第一延伸帆布。但重绘不工作。 我该怎么办?多线程和图形

日Thnx

+1

一些[SSCCE(http://sscce.org/)对这个问题的关注我们将不胜感激:-) – 2012-03-21 07:14:55

回答

0

Component.repaint()方法,下特别摆动,仅标记部件为需要进行重画,它实际上并不直接触发重绘。

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

1

这将是非常明智的,是不是使用Canvas,如果重写一个JComponentpaintComponent(...)方法并在其上作画,而不是覆盖paint(...)方法。

+0

好建议;作为参考,“Swing程序应该重写'的paintComponent()'而不是'覆盖涂料()'。” - [绘画在AWT和Swing:该漆方法(http://java.sun.com/products/jfc/ TSC /用品/绘画/ index.html的#回调)。 – trashgod 2012-03-22 00:47:34