From 0f8df6d157ba5f99e9b753e57ee1e352091f68fb Mon Sep 17 00:00:00 2001 From: SovereignX Date: Thu, 24 Sep 2026 13:33:05 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20du=20PanelAdmin=20avant=20r=C3=A9cup=20?= =?UTF-8?q?des=20questions=20en=20base=20de=20donn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/views/AdminPanel.java | 126 ++++++++++++++++++ .../src/main/java/views/PrimaryWindow.java | 6 +- 2 files changed, 128 insertions(+), 4 deletions(-) create mode 100644 ProjetJava/src/main/java/views/AdminPanel.java diff --git a/ProjetJava/src/main/java/views/AdminPanel.java b/ProjetJava/src/main/java/views/AdminPanel.java new file mode 100644 index 0000000..b20e650 --- /dev/null +++ b/ProjetJava/src/main/java/views/AdminPanel.java @@ -0,0 +1,126 @@ +package views; + +import java.awt.BorderLayout; +import java.awt.FlowLayout; +import java.awt.Font; +import java.awt.GridLayout; +import javax.swing.ButtonGroup; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.JTextField; + +/** + * + * @author Axel L. + */ +public class AdminPanel extends JPanel { + + // Initialisation + private final JComboBox comboQuestions; + private final JRadioButton radioLvl1, radioLvl2; + private final JTextField textQuestion, textAnswer; + private final JButton btnSave, btnModify; + + public AdminPanel() { + + // DESIGN \\ + setLayout(new BorderLayout()); + + Font globalFont = new Font("Arial", Font.PLAIN, 18); + + JPanel container = new JPanel(new GridLayout(4, 1, 0, 30)); + + // JCombo (Liste déroulante) + JPanel panelCombo = new JPanel(new FlowLayout(FlowLayout.CENTER)); + JLabel labelCombo = new JLabel("Sélection : "); + labelCombo.setFont(globalFont); + comboQuestions = new JComboBox<>(); + comboQuestions.addItem("Provisoire "); + comboQuestions.setFont(globalFont); + + panelCombo.add(labelCombo); + panelCombo.add(comboQuestions); + + // JRadioButton + JPanel panelLevel = new JPanel(new FlowLayout(FlowLayout.CENTER)); + JLabel labelLevel = new JLabel("Niveau :"); + labelLevel.setFont(globalFont); + + // True sur le niveau 1 pour l'avoir par défaut + radioLvl1 = new JRadioButton("Niveau 1", true); + radioLvl2 = new JRadioButton("Niveau 2"); + radioLvl1.setFont(globalFont); + radioLvl2.setFont(globalFont); + + // Pour grouper les boutons radio (pour qu'un seul soit coché) + ButtonGroup groupLevel = new ButtonGroup(); + groupLevel.add(radioLvl1); + groupLevel.add(radioLvl2); + + // AJout au panel + panelLevel.add(labelLevel); + panelLevel.add(radioLvl1); + panelLevel.add(radioLvl2); + + // Enoncé question + JPanel panelQ = new JPanel(new FlowLayout(FlowLayout.CENTER)); + JLabel labelQ = new JLabel("Enoncé : "); + labelQ.setFont(globalFont); + + textQuestion = new JTextField(20); + textQuestion.setFont(globalFont); + + panelQ.add(labelQ); + panelQ.add(textQuestion); + + // Réponse de la question + JPanel panelAnswer = new JPanel(new FlowLayout(FlowLayout.CENTER)); + JLabel labelAnswer = new JLabel("Réponse : "); + labelAnswer.setFont(globalFont); + + textAnswer = new JTextField(20); + textAnswer.setFont(globalFont); + + panelAnswer.add(labelAnswer); + panelAnswer.add(textAnswer); + // Ajout total + container.add(panelCombo); + container.add(panelLevel); + container.add(panelQ); + container.add(panelAnswer); + + JPanel containerCenter = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 50)); + containerCenter.add(container); + + add(containerCenter, BorderLayout.CENTER); + + // BOUTONS \\ + JPanel panelButtons = new JPanel(new FlowLayout(FlowLayout.CENTER, 15, 20)); + btnSave = new JButton("Enregistrer"); + btnModify = new JButton("Modifier"); + + panelButtons.add(btnSave); + panelButtons.add(btnModify); + + // Ajout au sud + add(panelButtons, BorderLayout.SOUTH); + + // EVENT \\ + comboQuestions.addActionListener(e -> { + int index = comboQuestions.getSelectedIndex(); + + if (index == 0) { + textQuestion.setText(""); + textAnswer.setText(""); + radioLvl1.setSelected(true); + btnSave.setText("Enregistrer"); + } else { + btnModify.setText("Modifier"); + } + }); + + } +} diff --git a/ProjetJava/src/main/java/views/PrimaryWindow.java b/ProjetJava/src/main/java/views/PrimaryWindow.java index ac79efb..af5f21b 100644 --- a/ProjetJava/src/main/java/views/PrimaryWindow.java +++ b/ProjetJava/src/main/java/views/PrimaryWindow.java @@ -63,16 +63,14 @@ public class PrimaryWindow extends JFrame { try { Properties props = new Properties(); props.load(DbConnection.class.getClassLoader().getResourceAsStream("database_config.properties")); - + String testMdp = props.getProperty("password"); if (test.equals(testMdp)) { // Vérification si l'onglet est déjà ouvert if (tabbedPane.indexOfTab("Administration") == -1) { // Création du panel Administration [PROVISOIRE TANT QUE LA PAGE ADMIN N'EXISTE PAS ENCORE !] - JPanel panelAdmin = new JPanel(); - panelAdmin.setBackground(Color.LIGHT_GRAY); - panelAdmin.add(new JLabel("Zone Administrateur")); + AdminPanel panelAdmin = new AdminPanel(); // Ajout et focus sur l'onglet Administration tabbedPane.addTab("Administration", panelAdmin); -- GitLab