2012-03-28 26 views
2

我想缩小为什么我的JComponent不重绘。奇怪的是,我可以重新绘制鼠标按下并释放,但不会拖动。有没有办法打印出EventQueue或者验证PaintEvent是执行还是转储?让我知道,谢谢。如何判断我的JComponent是否正在从软件接收重绘呼叫?

+1

你可以给我们一个缩减版本的代码来挑起你的问题吗?理想情况下,我们可以在本地编译和运行一个版本。 – Irfy 2012-03-28 21:00:22

+0

您的代码中可能存在一个错误。我同意上面的irfy的建议,向我们展示您的代码。我从paintComponent方法中完成了println,有时候可以提供帮助,但是希望在paint或paintComponent方法中没有程序逻辑,所以我认为你最好调试其他方法。 – 2012-03-28 21:32:40

+1

你总是可以推送你自己的EventQueue来覆盖dispatchEvent方法,并将Syserr传递给事件类,源等的控制台... – 2012-03-28 21:45:06

回答

1

没有办法在EventQueue上打印出工作,至少不是我所知道的。

你确定你在调用repaint()吗?请注意,调用repaint并不能保证您的组件将立即或以任何及时的方式重新绘制。

我的猜测是,如果你打电话重画,问题可能是你永远不会放开UI线程。如果您在GUI线程中等待而不释放,则GUI将永不刷新

相关问题