Pour un projet scolaire, j'écris un jeu de cartes BlackJack en JAVA. Après quelques étapes dans le programme, tout mon système d'ordinateur ralentit/bégaie et certaines zones dans le JFrame deviennent noires. Aucune repeinte ne semble se produire.JPanels, auditeurs et fils
Je vais vous donner quelques détails du programme en mots plutôt que de soumettre le code.
J'ai effectué une extension étendue de presque tous les composants de l'interface graphique pour lui donner l'apparence que je recherche. Presque tous les enfants de JComponent que j'utilise ont réécrit paintComponent avec des arrière-plans d'image personnalisés et un anti-aliasing, le cas échéant.
Dans mon JFrame (personnalisé), je charge une version étendue de JPanel. Ce panneau contient tous les composants de l'interface graphique pour cet écran. Quand je veux changer d'écran (aller à une autre partie du programme), je passe à une autre version étendue de JPanel. Je fais cela en supprimant tous les éléments du JFrame et en ajoutant le nouveau panneau. Ces différents panneaux implémente ActionListeners et FocusListeners.
À ce stade, mes pensées se penchent vers un problème de manipulation de thread. Ma théorie pour le moment est la suivante: Lorsqu'un panneau est construit pour être affiché dans le JFrame (chacun sur différentes étapes du programme), les panneaux construits précédemment ne sont pas vraiment "détruits", et les auditeurs de ces panneaux restent actifs.
Ma question pour vous est de savoir si cette théorie tient bon ... Et dans ce cas, y a-t-il un moyen de «tuer» ces panneaux ou au moins d'arrêter l'écoute?
Si ma théorie n'a pas de sens, quoi d'autre pourrait causer ces symptômes? Serait-ce l'écrasement complet des méthodes paintComponent?
Toutes les idées seraient très appréciées!
salutations Wilco
Sans voir de code, je doute vraiment que quelqu'un puisse vous aider. Une chose - je ne vois pas pourquoi vous supprimez tous les composants de l'ancien JPanel - ce n'est pas nécessaire. Êtes-vous à court de mémoire? Le comportement que vous décrivez ressemble à ce que vous pourriez être. – Kaffiene