Bonjour,
j'écris un programme nécessitant l'affichage d'un labyrinthe.
J'ai donc créer une classe JLabyrinthe héritant de JPanel, le tout utilisée dans une JFrame.
Mon labyrinthe peut se modifier (création/suppression de murs), ce qui est géré par un pattern Observer/Observable.
Pour que JLabyrinthe reste à jour et affiche tout correctement, le plus simple serait de redefinir sa méthode paintComponent et de l'appeler à chaque changement. Ainsi le labyrinthe serait automatique redessiné lors des changements d'état de ma fenêtre (resize,...) ou lorsque que mon labyrinthe change.
Ma question : comment faire cela ? En effet, il faudrait que ma classe JLabyrinthe ait connaissance du labyrinthe pour pouvoir le dessiner (du style if(mur) { g.drawLine(...,...,...,...); }, avec g le Graphics de mon JPanel).
Suis-je obligé de créer une variable Labyrinthe dans JLabyrinthe qui stockerait mes murs et qui serait mise à jour à chaque changement ?
Merci d'avance
Partager