From 302e2617d665a5d582161e7f649c6b78ef0a416c Mon Sep 17 00:00:00 2001 From: besson Date: Fri, 2 Dec 2022 09:10:30 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/Test/MainMenu.?= =?UTF-8?q?java'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Test/MainMenu.java | 479 +++++++++++++++++++++-------------------- 1 file changed, 240 insertions(+), 239 deletions(-) diff --git a/src/Test/MainMenu.java b/src/Test/MainMenu.java index 90688bf..286d1e3 100644 --- a/src/Test/MainMenu.java +++ b/src/Test/MainMenu.java @@ -1,239 +1,240 @@ -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, 600); - private final CardLayout cards = new CardLayout(), adminCards = new CardLayout(), profCards = new CardLayout(), studentCards = new CardLayout(); - private final JPanel adminPanel = new JPanel(), profPanel = new JPanel(), studentPanel = new JPanel(); - private final JMenuBar menuBar = new JMenuBar(); - private Controller listener; - private AdminView av; - private ProfView pv; - private StudentView sv; - private JTable table; - private int cardIndex = 0; - - private final JButton[] buttonTab = { - new JButton("Admin"), - new JButton("Prof"), - new JButton("Student") - }; - - - public MainMenu(Controller listener) { - super(); - this.setDefaultCloseOperation(EXIT_ON_CLOSE); - this.setExtendedState(MAXIMIZED_BOTH); - this.setMinimumSize(MINIMUM_SIZE); - init(listener); - this.setVisible(true); - } - - - private void init(Controller listener) { - this.listener = listener; - - this.av = this.listener.getAdminView(); - this.pv = this.listener.getProfView(); - this.sv = this.listener.getStudentView(); - - this.table = this.listener.initTable(); - - this.setLayout(cards); - - this.add(firstCard()); - this.add(adminPanel); - this.add(profPanel); - this.add(studentView()); - - cards.first(this.getContentPane()); - } - - - private void createJMenuBar() { - JMenu menu = new JMenu("Menu"), file = new JMenu("File"), edit = new JMenu("Edit"), view = new JMenu("View"); - - JMenuItem adminMenuItem = new JMenuItem("Admin View"); - adminMenuItem.addActionListener((event) -> changeView(1)); - - JMenuItem profMenuItem = new JMenuItem("Professor View"); - profMenuItem.addActionListener((event) -> changeView(2)); - - JMenuItem studentMenuItem = new JMenuItem("Student View"); - studentMenuItem.addActionListener((event) -> changeView(3)); - - JMenuItem quitMenuItem = new JMenuItem("Quit"); - quitMenuItem.addActionListener((event) -> System.exit(0)); - - menu.add(adminMenuItem); - menu.add(profMenuItem); - menu.add(studentMenuItem); - menu.add(quitMenuItem); - - file.add(new JMenuItem("Ca c'est juste du style")); - edit.add(new JMenuItem("Ca aussi c'est du style")); - view.add(new JMenuItem("Encore du style")); - - menuBar.add(menu); - menuBar.add(file); - menuBar.add(edit); - menuBar.add(view); - - this.setJMenuBar(menuBar); - } - - - private JPanel cardWithTable(JPanel sidePanel) { - JPanel panel = new JPanel(); - JScrollPane scrollPane = new JScrollPane(); - - panel.setLayout(new GridLayout(1, 2)); - - panel.add(sidePanel); - panel.add(this.table); - panel.add(scrollPane); - scrollPane.setViewportView(this.table); - - return panel; - } - - - private void changeView(int index) { - table = this.listener.initTable(); - - if (index == 1) { - cardIndex = index; - this.setTitle("Administrator"); - adminPanel.setLayout(adminCards); - adminPanel.add(cardWithTable(adminView())); - adminCards.next(adminPanel); - menuBar.setBackground(Color.RED); - - } else if (index == 2) { - cardIndex = index; - this.setTitle("Professor"); - profPanel.setLayout(profCards); - profPanel.add(cardWithTable(profView())); - profCards.next(profPanel); - menuBar.setBackground(Color.MAGENTA); - - } else if (index == 3){ - cardIndex = index; - this.setTitle("Student"); - studentPanel.setLayout(studentCards); - studentPanel.add(cardWithTable(studentView())); - studentCards.next(studentPanel); - menuBar.setBackground(Color.BLUE); - } - travelThroughCards(index); - } - - - public void updateTable(JTable table) { - if (cardIndex == 1) { - this.table = table; - adminPanel.add(cardWithTable(adminView())); - adminCards.next(adminPanel); - } else if (cardIndex == 2) { - this.table = table; - profPanel.add(cardWithTable(profView())); - profCards.next(profPanel); - } else { - this.table = table; - studentPanel.add(cardWithTable(profView())); - studentCards.next(studentPanel); - } - } - - - private JPanel firstCard() { - 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(); - mainPanel.setLayout(new BorderLayout()); - mainPanel.add(this.av, BorderLayout.CENTER); - return mainPanel; - } - - - private JPanel profView() { - JPanel mainPanel = new JPanel(); - mainPanel.setLayout(new BorderLayout()); - mainPanel.add(this.pv, BorderLayout.CENTER); - return mainPanel; - } - - - private JPanel studentView() { - JPanel mainPanel = new JPanel(); - mainPanel.setLayout(new BorderLayout()); - mainPanel.add(this.sv, BorderLayout.CENTER); - return mainPanel; - } - - - private void action(ActionEvent e) { - JButton origin = (JButton) e.getSource(); - createJMenuBar(); - - if (origin.getText().equals("Admin")) { - this.setTitle("Administrator"); - menuBar.setBackground(Color.RED); - adminPanel.setLayout(adminCards); - adminPanel.add(cardWithTable(adminView())); - cardIndex = 1; - - } else if (origin.getText().equals("Prof")) { - this.setTitle("Professor"); - menuBar.setBackground(Color.MAGENTA); - profPanel.setLayout(profCards); - profPanel.add(cardWithTable(profView())); - cardIndex = 2; - - } else { - this.setTitle("Student"); - menuBar.setBackground(Color.BLUE); - studentPanel.setLayout(studentCards); - studentPanel.add(cardWithTable(studentView())); - cardIndex = 3; - } - - travelThroughCards(cardIndex); - } - - - private void travelThroughCards(int index) { - cards.first(this.getContentPane()); - - for (int i = 0; i < index; i++) { - cards.next(this.getContentPane()); - } - } -} +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, 600); + private final CardLayout cards = new CardLayout(), adminCards = new CardLayout(), profCards = new CardLayout(), studentCards = new CardLayout(); + private final JPanel adminPanel = new JPanel(), profPanel = new JPanel(), studentPanel = new JPanel(); + private final JMenuBar menuBar = new JMenuBar(); + private Controller listener; + private AdminView av; + private ProfView pv; + private StudentView sv; + private JTable table; + private int cardIndex = 0; + private String[] viewName = {"Administrateur", "Professeur", "Etudiant"} + + private final JButton[] buttonTab = { + new JButton(viewName[0]), + new JButton(viewName[1]), + new JButton(viewName[2]) + }; + + + public MainMenu(Controller listener) { + super(); + this.setDefaultCloseOperation(EXIT_ON_CLOSE); + this.setExtendedState(MAXIMIZED_BOTH); + this.setMinimumSize(MINIMUM_SIZE); + init(listener); + this.setVisible(true); + } + + + private void init(Controller listener) { + this.listener = listener; + + this.av = this.listener.getAdminView(); + this.pv = this.listener.getProfView(); + this.sv = this.listener.getStudentView(); + + this.table = this.listener.initTable(); + + this.setLayout(cards); + + this.add(firstCard()); + this.add(adminPanel); + this.add(profPanel); + this.add(studentView()); + + cards.first(this.getContentPane()); + } + + + private void createJMenuBar() { + JMenu menu = new JMenu("Menu"), file = new JMenu("File"), edit = new JMenu("Edit"), view = new JMenu("View"); + + JMenuItem adminMenuItem = new JMenuItem("Vu "+viewName[0]); + adminMenuItem.addActionListener((event) -> changeView(1)); + + JMenuItem profMenuItem = new JMenuItem("Vu "+viewName[0]); + profMenuItem.addActionListener((event) -> changeView(2)); + + JMenuItem studentMenuItem = new JMenuItem("Vu "+viewName[0]); + studentMenuItem.addActionListener((event) -> changeView(3)); + + JMenuItem quitMenuItem = new JMenuItem("Quitter"); + quitMenuItem.addActionListener((event) -> System.exit(0)); + + menu.add(adminMenuItem); + menu.add(profMenuItem); + menu.add(studentMenuItem); + menu.add(quitMenuItem); + + file.add(new JMenuItem("Ca c'est juste du style")); + edit.add(new JMenuItem("Ca aussi c'est du style")); + view.add(new JMenuItem("Encore du style")); + + menuBar.add(menu); + menuBar.add(file); + menuBar.add(edit); + menuBar.add(view); + + this.setJMenuBar(menuBar); + } + + + private JPanel cardWithTable(JPanel sidePanel) { + JPanel panel = new JPanel(); + JScrollPane scrollPane = new JScrollPane(); + + panel.setLayout(new GridLayout(1, 2)); + + panel.add(sidePanel); + panel.add(this.table); + panel.add(scrollPane); + scrollPane.setViewportView(this.table); + + return panel; + } + + + private void changeView(int index) { + table = this.listener.initTable(); + + if (index == 1) { + cardIndex = index; + this.setTitle(viewName[0]); + adminPanel.setLayout(adminCards); + adminPanel.add(cardWithTable(adminView())); + adminCards.next(adminPanel); + menuBar.setBackground(Color.RED); + + } else if (index == 2) { + cardIndex = index; + this.setTitle(viewName[1]); + profPanel.setLayout(profCards); + profPanel.add(cardWithTable(profView())); + profCards.next(profPanel); + menuBar.setBackground(Color.MAGENTA); + + } else if (index == 3){ + cardIndex = index; + this.setTitle(viewName[2]); + studentPanel.setLayout(studentCards); + studentPanel.add(cardWithTable(studentView())); + studentCards.next(studentPanel); + menuBar.setBackground(Color.BLUE); + } + travelThroughCards(index); + } + + + public void updateTable(JTable table) { + if (cardIndex == 1) { + this.table = table; + adminPanel.add(cardWithTable(adminView())); + adminCards.next(adminPanel); + } else if (cardIndex == 2) { + this.table = table; + profPanel.add(cardWithTable(profView())); + profCards.next(profPanel); + } else { + this.table = table; + studentPanel.add(cardWithTable(profView())); + studentCards.next(studentPanel); + } + } + + + private JPanel firstCard() { + 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(); + mainPanel.setLayout(new BorderLayout()); + mainPanel.add(this.av, BorderLayout.CENTER); + return mainPanel; + } + + + private JPanel profView() { + JPanel mainPanel = new JPanel(); + mainPanel.setLayout(new BorderLayout()); + mainPanel.add(this.pv, BorderLayout.CENTER); + return mainPanel; + } + + + private JPanel studentView() { + JPanel mainPanel = new JPanel(); + mainPanel.setLayout(new BorderLayout()); + mainPanel.add(this.sv, BorderLayout.CENTER); + return mainPanel; + } + + + private void action(ActionEvent e) { + JButton origin = (JButton) e.getSource(); + createJMenuBar(); + + if (origin.getText().equals("Admin")) { + this.setTitle(viewName[0]); + menuBar.setBackground(Color.RED); + adminPanel.setLayout(adminCards); + adminPanel.add(cardWithTable(adminView())); + cardIndex = 1; + + } else if (origin.getText().equals("Prof")) { + this.setTitle(viewName[1]); + menuBar.setBackground(Color.MAGENTA); + profPanel.setLayout(profCards); + profPanel.add(cardWithTable(profView())); + cardIndex = 2; + + } else { + this.setTitle(viewName[2]); + menuBar.setBackground(Color.BLUE); + studentPanel.setLayout(studentCards); + studentPanel.add(cardWithTable(studentView())); + cardIndex = 3; + } + + travelThroughCards(cardIndex); + } + + + private void travelThroughCards(int index) { + cards.first(this.getContentPane()); + + for (int i = 0; i < index; i++) { + cards.next(this.getContentPane()); + } + } +}