Bonjour,
je souhaite qu'un composant B, contenu dans un composant A, s'affiche après lui.(ces 2 composants sont des JPanel et j'utilise paint pour dessiner un rectangle de leur taille par exemple).
Le problème est que, si je ne fais rien de particulier, seul le composant A s'affiche (j'imagine que paint de A est apelée aprés paint de B).
Il n'y a plus de problème si dans la méthode paint de A, je fais: B.repaint().
Mais j'ai peur que ca ne soit pas la meilleure solution. J'ai donc voulu utilisé les z-order, mais je comprend mal comment ca fonctionne, en effet je tombe toujours sur des exceptions...
Sauriez vous me dire comment utiliser setComponentZorder dans ce cas précis?
Moi, j'éssayais:
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 class A extends JPanel{ public A(){ B b= new B(); //étend JPanel aussi this.setLayout(...); this.add(B); this.setComponentZOrder(this, 1); //cette ligne provoque l'erreur this.setComponentZOrder(b, 0); } public void paint(Graphics g){ g.setColor(Color.BLACK); g.fillRect(0,0,this.getWidth(), this.getHeight() ); } }
Partager