Créer des rectangles dans un JPanel qui restent visibles malgré les appels de repaint, sans ralentir le système en raison d'un excès de redessiner.
Utiliser une BufferedImage comme surface de peinture.
<code class="java">// Relevant JPanel subclass class MyPanel extends JPanel { private BufferedImage canvasImage; // Image for drawing rectangles // Draw a rectangle public void drawRect(int x, int y, int width, int height) { Graphics2D g = canvasImage.createGraphics(); g.setColor(Color.RED); g.fillRect(x, y, width, height); g.dispose(); repaint(); // Redraw the panel with updated canvasImage } // Update view @Override public void paint(Graphics g) { super.paint(g); g.drawImage(canvasImage, 0, 0, null); // Draw the canvasImage on the panel } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!