我该如何开始为我的JFrame自动更新创建我的画图呢?

2022-06-15 00:00:00 java jpanel paintcomponent paint jframe
目前,我有一个JFrame,其中包含一个JPanelJPanel是我的程序的画笔。画图表示我所有的Graphics g.drag字符串的东西。 目前,它只在用户与JFrame交互时更新显示,但我希望它在不使用While循环(CPU使用量太大)的情况下不断更新(repaint())自身。

有人知道我怎么能做到这一点吗?


解决方案

您需要做的是在知道面板上的图像部分发生更改时通知Swing组件。正常的方法是,正如您所说的,调用repaint(),如果您知道被‘失效’的矩形,您也可以指出这一点。

根据导致JPanel内容的事件,您需要更改您的应用程序设计,以便应用程序的演示部分‘监听’底层数据的更改,并在这些更改发生时重新绘制。

还有一种名为paintImmediately()的方法,它可能适用于某些情况,但您必须更多地描述您的场景,在哪些情况下您需要不断重新绘制。

相关文章