Je tente de créer une applet Java qui me permettra de dessiner une structure de données graphique dans un canevas. Je vais le faire en cliquant où je veux créer des nœuds, et en cliquant sur les nœuds pour les connecter. Le problème est que je ne peux pas obtenir la méthode paint()
pour se comporter correctement. Ajouter de nouveaux noeuds au graphique (et les places sur la toile) à l'intérieur de la méthode mousePressed(MouseEvent e)
utilisant,Rectangles graphiques Java 2D
Graphics g = this.getGraphics();
g.setColor(Color.blue);
g.fillRect(e.getX(), e.gety(), 40, 40);
Tout fonctionne très bien, jusqu'à ce que je redimensionnez la fenêtre, puis tous les rectangles remplis évanouis. J'ai remplacé la méthode de peinture par une méthode vide, mais la même chose se produit toujours. Je ne peux pas ajouter les commandes fillRect dans paint() parce que je ne sais pas quels rectangles existent jusqu'à ce que l'utilisateur interagisse avec lui en utilisant la souris.
Comment puis-je utiliser g.fillRect()
dans les méthodes d'écoute de la souris et de les faire coller?
Cela a semblé la méthode la plus simple, j'ai créé une nouvelle image buffered puis j'ai dessiné toutes mes formes dessus, et j'ai juste fait que la méthode de peinture dessine l'image. Merci! – PherricOxide
Pas de problème, même si vous devrez peut-être finir par repeindre, alors souvenez-vous des conseils de Kyl. (Aussi, souvenez-vous d'up-voter et "accepter" les réponses que vous aimez.) Je veux mes points de karma. :) – Gunslinger47
Dans ce cas particulier, garder les données serait probablement une bien meilleure idée qu'une image tamponnée. Cependant, +1 pour obtenir les deux extrêmes. –