Bonjour/Bonsoir,
Je suis débutant en Java et je me suis donc essayé à l'interface graphique. J'ai essayé de mon coté à créer un CardLayout afin d'avoir plusieurs panneaux différents et de naviguer entre eux à l'aide de boutons. Et comme le titre l'indique je n'arrive pas à partager un bouton sur deux panneaux différent je m'explique tout d'abords voici le code:
Un code très basique un panneau de couleur orange composé de deux boutons, un qui mène à un panneau bleu, l'autre sur un panneau vert. Et j'aurai aimé que ces deux panneaux "secondaire" partage un bouton en commun qui fait en sorte de revenir au premier panneau(le panneau bleu avec les deux boutons).
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Fenetre extends JFrame { CardLayout cl = new CardLayout(); JPanel content = new JPanel(); public Fenetre(){ this.setSize(500,530); this.setTitle("Appli de test"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocationRelativeTo(null); JPanel pan1 = new JPanel(); pan1.setBackground(Color.orange); JPanel pan2 = new JPanel(); pan2.setBackground(Color.BLUE); JPanel pan3 = new JPanel(); pan3.setBackground(Color.GREEN); JButton butt1 = new JButton("Option 1"); JButton butt2 = new JButton("Option2"); JButton butt3 = new JButton("Retour menu"); JPanel buttPan1 = new JPanel(); buttPan1.add(butt1); buttPan1.add(butt2); pan1.add(buttPan1); pan3.add(butt3); //Ici ca coince... pan2.add(butt3); butt1.addActionListener(new Bouton1Listener()); butt2.addActionListener(new Bouton2Listener()); butt3.addActionListener(new Bouton3Listener()); content.setLayout(cl); content.add(pan1, "pan1"); content.add(pan2, "pan2"); content.add(pan3, "pan3"); this.getContentPane().add(content, BorderLayout.CENTER); this.setVisible(true); } class Bouton1Listener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { cl.show(content, "pan2"); } } class Bouton2Listener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { cl.show(content, "pan3"); } } class Bouton3Listener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { cl.show(content, "pan1"); } } }
Donc ma question est, est-ce qu'il est possible de faire en sorte que deux panneaux différent se partage le même bouton? Et si non comment faire hormis crée deux boutons différent pour chaque panneau(à moins qu'on y soit obligé...).
Et aussi une petite question qui n'a rien à voir, je n'arrive pas à positionner mes boutons comme je le voudrais. Ils sont par défaut centré en haut j'aurai aimé les centrer en bas mais rien n'y fait, j'ai essayé "BorderLayout.SOUTH" un peux partout mais rien ne change.
Merci à l'avance de vos futurs réponse![]()
Partager