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
| public class PanelsAlternatifs {
private static final String PANEL1 = "PANEL 1";
private static final String PANEL2 = "PANEL 2";
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
CardLayout cardLayout = new CardLayout();
panel.setLayout(cardLayout);
createPanel(panel,cardLayout,PANEL1,PANEL2);
createPanel(panel,cardLayout,PANEL2,PANEL1);
frame.getContentPane().setLayout(new GridBagLayout());
frame.add(panel);
frame.setSize(600, 600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private static void createPanel(JPanel container, CardLayout cardLayout, String panelName, String panelAutre) {
JPanel panel = new JPanel(new BorderLayout());
JLabel label = new JLabel("LE " + panelName,SwingConstants.CENTER);
label.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
panel.add(label);
panel.add(label, BorderLayout.NORTH);
JButton button = new JButton("Afficher l'autre panel ("+panelAutre+")");
panel.add(button);
button.addActionListener(e-> cardLayout.show(container, panelAutre));
container.add(panel, panelName); // on donne un nom au panel dans le cardlayoyut pour pouvoir le sélectionner
}
} |
Partager