BULLES D'AQUARIUM QUI SE DÉPLACENT (AVEC POISSON)

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 12 juin 2010 à 11:49
 attar - 21 sept. 2014 à 14:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51896-bulles-d-aquarium-qui-se-deplacent-avec-poisson

je suis débutant en java , mais je trouve que c'est un excellent travail !
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
12 juin 2010 à 16:29
Merci pour tes remarques, j'ai corrigé le bug, je supprimais des éléments de la liste dans une boucle qui s'arrêtait à liste.size(), il y avait donc une erreur.

J'ai ajouté une sélection de la vitesse et des poissons qui défilent.

Merci
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 juin 2010 à 11:49
C'est joli, fluide, mais un peu trop rapide à mon goût sur ma machine (on a quasiment pas le temps de voir les bulles), tu devrais rajouter un petit paramétrage du temps d'attente entre 2 affichages pour régler la vitesse de défilement des bulles.

Sinon, j'ai une exception qui se déclenche, je te laisse la stacktrace complète afin que tu puisse debugguer (sûrement un problème de synchronisation entre le remove et le paint dans ton thread) :

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: No such child: 31
at java.awt.Container.getComponent(Unknown Source)
at javax.swing.JComponent.rectangleIsObscured(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

C'est une jolie utilisation de ma source de tracé de bouton avec effet glass ;)
Rejoignez-nous