问题:
您需要创建一个 JPanel绘制即使重复调用 repaint 方法也保持可见的矩形。
建议的解决方案:
而不是创建矩形列表并在每次 JPanel 启动时重新绘制它们重绘时,考虑使用 BufferedImage 作为绘画表面。这种方法允许持久绘制,并且在重绘期间不会消失。
实现:
示例代码:
<code class="java">class MyPanel extends JPanel { private BufferedImage canvasImage; // ... @Override public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(canvasImage, 0, 0, this); } }</code>
通过使用这种方法,即使在重复重绘调用之后,矩形也将在 JPanel 上保持可见,因为它是直接绘制在 BufferedImage 上的。
以上是如何在 JPanel 中绘制持久矩形:避免重绘时消失?的详细内容。更多信息请关注PHP中文网其他相关文章!