J'ai un JLayeredPane contenant trois JPanels, dont deux se chevauchent, auxquels je peins des formes. L'un des deux JPanels qui se chevauchent doit avoir toutes les formes dessinées pour l'effacer sans affecter les formes dessinées sur le JPanel sous lui disparaissent de l'écran. Actuellement, je suis en utilisant quelque chose comme ceci:Java Swing: Effacement de la peinture personnalisée à partir d'un JPanel superposé à d'autres JPanels dans un JLayeredPane
Graphics g = pane2.getGraphics();
g.clearRect (0, 0, 1000, 1000);
Mais ce non seulement peint à tout efface pane2 mais aussi pane1, qui est en dessous. Donc ma question est: Y at-il un moyen de effacer tout peint à un JPanel sans affecter quoi que ce soit peint à un JPanel en vertu de cela?
Mais la compensation de cette façon efface non seulement tout ce JPanel, mais tout sur le JPanel en dessous. J'ai besoin de garder tout peint à la JPanel ci-dessous rester là. – JBenson
Oh, je pense que vous pourriez avoir besoin de repeindre le JPanel ci-dessous alors. –
Comment gérez-vous exactement les formes que vous peignez? Avez-vous une ArrayList ou quelque chose qui les retient, ou les peignez-vous simplement sur le JFrame et les perdez par la suite? –