Afficher une forme par dessu une autre
Résolu/Fermé
lamouchetsetse
Messages postés
112
Date d'inscription
samedi 2 août 2014
Statut
Membre
Dernière intervention
21 septembre 2021
-
20 avril 2020 à 17:57
lamouchetsetse Messages postés 112 Date d'inscription samedi 2 août 2014 Statut Membre Dernière intervention 21 septembre 2021 - 21 avril 2020 à 19:08
lamouchetsetse Messages postés 112 Date d'inscription samedi 2 août 2014 Statut Membre Dernière intervention 21 septembre 2021 - 21 avril 2020 à 19:08
A voir également:
- Afficher une forme par dessu une autre
- Mise en forme conditionnelle excel - Guide
- Dans la présentation à télécharger, sarah avait encadré directement le titre de certaines diapositives avant d’automatiser cette mise en forme pour tout le document. sur quelles diapositives avait-elle encadré directement le titre ? ✓ - Forum Bureautique
- Afficher mot de passe wifi android - Guide
- Windows 11 clic droit afficher plus d'options par défaut - Guide
1 réponse
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
21 avril 2020 à 09:10
21 avril 2020 à 09:10
Bonjour,
"le carré ce trouve toujours en dessous du rond. Pourquoi?"Parce que c'est ainsi qu'il est prévu que la méthode Container.html#add(Component) fonctionne :
"Appends the specified component to the end of this container."Si tu veux changer l'ordre, il faut utiliser la méthode Container.html#add(Component,int)
"Adds the specified component to this container at the given position."Exemple :
this.getContentPane().add(new Carre(Color.GREEN), 0);
21 avril 2020 à 09:37
1)
Dans un nom de package on ne devrait pas avoir de et les différents champs doivent être du plus générique (dossier parent) vers le plus spécifique (sous-dossier), dans ton cas on devrait donc avoir :
(avec les dossiers qui vont bien)
2)
Il vaut mieux séparer dans des classes distinctes, l'objet manipulé (JFrame) et l'objet qui le manipule (MouseListener), cela évite des classes fourre-tout et du code comme où en réalité est deux choses différentes (une JFrame à gauchen un MouseListener à droite).
3)
D'une part, le this est facultatif (et ce qui est facultatif ne devrait pas être mis, ça alourdit le code), d'autre part la classe JFrame étant également un Container, elle a déjà une méthode add, il est donc inutile de passer par le contentPane.
4)
Pour simplifier ton MouseListener et éviter l'implémentation de méthodes vides, tu peux utiliser un MouseAdapter et ne surcharger que les méthodes que tu veux définir.
5)
Attention, à chaque clic tu vas créer et ajouter un nouvel objet, est-ce bien ce que tu veux faire ?
Si tu veux n'afficher qu'une seule fois le carré ou si tu as l'intention de cliquer beaucoup de fois et d'afficher plein de carrés, cela semble une mauvaise approche.
Code corrigé avec mes remarques :
Modifié le 21 avril 2020 à 19:11