我的项目基于多线程和图形。问题在于调用repaint()方法。我试图从第二类调用repaint方法实现runnable,而paint()方法在类中首先扩展Canvas。但重画不工作。 我该怎么办?
日Thnx
答案 0 :(得分:1)
如果您覆盖Canvas
的{{3}}方法并在其上绘制,而不是覆盖JComponent
方法,那将是明智的,而不是使用paint(...)
。
答案 1 :(得分:0)
特别是在Swing下的Component.repaint()
方法只将组件标记为需要重绘,它实际上并不直接触发重绘。
确保通过调用Thread.yield()
允许其他线程运行,因为它是主图形线程(它启动了你的其他线程)实际检查组件以查看需要重新绘制的内容。