package Test; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; public class MainMenu extends JFrame { private final static Dimension MINIMUM_SIZE = new Dimension(960, 540); private CardLayout cards = new CardLayout(); private AdminView av; private ProfView pv; private JButton[] buttonTab = { new JButton("Admin"), new JButton("Prof"), new JButton("Student") }; public MainMenu() { super(); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setExtendedState(MAXIMIZED_BOTH); this.setMinimumSize(MINIMUM_SIZE); init(); this.setVisible(true); } private void init() { BDatabase db = new BDatabase(); Controller listener = new Controller(db); av = new AdminView(listener.getEtudiants(), listener.getGroupes(), listener); pv = new ProfView(listener.getEtudiants(), listener.getGroupes(), listener); this.setLayout(cards); this.add(first()); this.add(adminView()); this.add(profView()); cards.first(this.getContentPane()); } private JPanel first() { JPanel mainPanel = new JPanel(), centerPanel = new JPanel(); Dimension buttonDimension = new Dimension(300, 50); mainPanel.setLayout(new BorderLayout()); centerPanel.setLayout(new GridBagLayout()); Insets insets = new Insets(10, 10, 10, 10); GridBagConstraints gbc = new GridBagConstraints(); gbc.insets = insets; gbc.gridwidth = 1; gbc.gridx = 0; for (int i = 0; i < buttonTab.length; i++) { gbc.gridy = i; buttonTab[i].setPreferredSize(buttonDimension); buttonTab[i].addActionListener(this::action); centerPanel.add(buttonTab[i], gbc); } mainPanel.add(centerPanel, BorderLayout.CENTER); return mainPanel; } private JPanel adminView() { JPanel mainPanel = new JPanel } private JPanel profView() { } private void action(ActionEvent e) { JButton origin = (JButton) e.getSource(); System.out.println(origin.getText()); if (origin.getText() == "Admin") { listener.createAdminView(); } else if (origin.getText() == "Prof") { listener.createProfView(); } else { JOptionPane.showMessageDialog(null, "En travaux"); } } }