From f190f9818b8586865a81e09dffa0d00659cad853 Mon Sep 17 00:00:00 2001 From: "Teo R." Date: Thu, 24 Sep 2026 10:03:38 +0200 Subject: [PATCH 1/4] =?UTF-8?q?Cr=C3=A9ation=20HomePage=20+=20int=C3=A9gra?= =?UTF-8?q?tion=20dans=20Primary=20Windows=20(boutons=20non=20fonctionnel)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjetJava/src/main/java/views/HomePage.java | 96 ++++++++++++ .../src/main/java/views/PrimaryWindow.java | 147 +++++++++++++----- 2 files changed, 201 insertions(+), 42 deletions(-) create mode 100644 ProjetJava/src/main/java/views/HomePage.java diff --git a/ProjetJava/src/main/java/views/HomePage.java b/ProjetJava/src/main/java/views/HomePage.java new file mode 100644 index 0000000..a7744e7 --- /dev/null +++ b/ProjetJava/src/main/java/views/HomePage.java @@ -0,0 +1,96 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package views; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Font; +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTabbedPane; +import javax.swing.SwingConstants; +/** + * + * @author Teo + */ +public class HomePage extends JPanel { + public HomePage() { + + // Parametres du panel principal + setLayout(new BorderLayout()); + + // Creation du panel contenant le titre + JPanel panelTitre = new JPanel(); + + // Creation du titre + JLabel titre = new JLabel( + "Jeux d'enfants", + SwingConstants.CENTER + ); + + titre.setPreferredSize(new Dimension(300, 70)); + titre.setFont(new Font("Arial", Font.PLAIN, 30)); + titre.setBorder( + BorderFactory.createLineBorder( + java.awt.Color.GRAY + ) + ); + + // Ajout du titre au panel + panelTitre.add(titre); + + // Ajout du panel titre en haut + add(panelTitre, BorderLayout.NORTH); + + // Creation du panel contenant les boutons + JPanel panelJeux = new JPanel(); + + // Creation du bouton Jeu 1 + JButton jeu1 = new JButton("Jeu 1"); + jeu1.setPreferredSize(new Dimension(150, 60)); + jeu1.setFont(new Font("Arial", Font.PLAIN, 22)); + + // Creation du bouton Jeu 2 + JButton jeu2 = new JButton("Jeu 2"); + jeu2.setPreferredSize(new Dimension(150, 60)); + jeu2.setFont(new Font("Arial", Font.PLAIN, 22)); + + // Creation du bouton Jeu 3 + JButton jeu3 = new JButton("Jeu 3"); + jeu3.setPreferredSize(new Dimension(150, 60)); + jeu3.setFont(new Font("Arial", Font.PLAIN, 22)); + + // Ajout des boutons au panel + panelJeux.add(jeu1); + panelJeux.add(jeu2); + panelJeux.add(jeu3); + + // Ajout du panel des jeux au centre + add(panelJeux, BorderLayout.CENTER); + + // Creation du panel contenant les noms + JPanel panelNoms = new JPanel( + new FlowLayout(FlowLayout.CENTER, 40, 10) + ); + + // Creation des noms des participants + JLabel nom1 = new JLabel("Axel L."); + JLabel nom2 = new JLabel("Adrien F."); + JLabel nom3 = new JLabel("Vincent M."); + JLabel nom4 = new JLabel("Teo R."); + + // Ajout des noms au panel + panelNoms.add(nom1); + panelNoms.add(nom2); + panelNoms.add(nom3); + panelNoms.add(nom4); + + // Ajout du panel des noms en bas + add(panelNoms, BorderLayout.SOUTH); + } +} diff --git a/ProjetJava/src/main/java/views/PrimaryWindow.java b/ProjetJava/src/main/java/views/PrimaryWindow.java index ac79efb..b862164 100644 --- a/ProjetJava/src/main/java/views/PrimaryWindow.java +++ b/ProjetJava/src/main/java/views/PrimaryWindow.java @@ -23,81 +23,147 @@ import javax.swing.SwingUtilities; public class PrimaryWindow extends JFrame { public PrimaryWindow() { - // Paramètres de base de la fenêtre + + // Parametres de base de la fenetre setTitle("Jeux d'enfants"); setSize(1200, 1000); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setLocationRelativeTo(null); // Centre la fenêtre à l'écran + setLocationRelativeTo(null); // Centre la fenetre a l'ecran - // Création de la barre de menu + // Creation de la barre de menu JMenuBar menuBar = new JMenuBar(); - // Création de la zone centrale avec les onglets + // Creation de la zone centrale avec les onglets JTabbedPane tabbedPane = new JTabbedPane(); - // Activité - JMenu menuActivite = new JMenu("Activité"); - menuActivite.add(new JMenuItem("Dessin")); - menuActivite.add(new JMenuItem("Calcul")); - menuActivite.add(new JMenuItem("Question")); + // Creation du menu Activite + JMenu menuActivite = new JMenu("Activite"); + + JMenuItem menuDessin = new JMenuItem("Dessin"); + JMenuItem menuCalcul = new JMenuItem("Calcul"); + JMenuItem menuQuestion = new JMenuItem("Question"); - // Niveau + // Ajout des choix au menu Activite + menuActivite.add(menuDessin); + menuActivite.add(menuCalcul); + menuActivite.add(menuQuestion); + + // Creation du menu Niveau JMenu menuNiveau = new JMenu("Niveau"); + ButtonGroup groupeNiveau = new ButtonGroup(); - JRadioButtonMenuItem niveau1 = new JRadioButtonMenuItem("Niveau 1", true); - JRadioButtonMenuItem niveau2 = new JRadioButtonMenuItem("Niveau 2"); + + JRadioButtonMenuItem niveau1 = + new JRadioButtonMenuItem("Niveau 1", true); + + JRadioButtonMenuItem niveau2 = + new JRadioButtonMenuItem("Niveau 2"); + groupeNiveau.add(niveau1); groupeNiveau.add(niveau2); + menuNiveau.add(niveau1); menuNiveau.add(niveau2); - // Administration [TEST] + // Creation du menu Administration JMenu menuAdmin = new JMenu("Administration"); - JMenuItem authPart = new JMenuItem("S'authentifier"); + + JMenuItem authPart = + new JMenuItem("S'authentifier"); + menuAdmin.add(authPart); + // Gestion de l'authentification authPart.addActionListener(e -> { - String test = JOptionPane.showInputDialog(this, "Message mdp"); + + String test = + JOptionPane.showInputDialog( + this, + "Message mdp" + ); if (test != null) { + try { + + // Chargement du fichier de configuration Properties props = new Properties(); - props.load(DbConnection.class.getClassLoader().getResourceAsStream("database_config.properties")); - - String testMdp = props.getProperty("password"); + + 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 + + // Verification si l'onglet est deja ouvert if (tabbedPane.indexOfTab("Administration") == -1) { - // Création du panel Administration [PROVISOIRE TANT QUE LA PAGE ADMIN N'EXISTE PAS ENCORE !] + + // Creation du panel Administration JPanel panelAdmin = new JPanel(); - panelAdmin.setBackground(Color.LIGHT_GRAY); - panelAdmin.add(new JLabel("Zone Administrateur")); + + panelAdmin.setBackground( + Color.LIGHT_GRAY + ); + + panelAdmin.add( + new JLabel("Zone Administrateur") + ); // Ajout et focus sur l'onglet Administration - tabbedPane.addTab("Administration", panelAdmin); - tabbedPane.setSelectedIndex(tabbedPane.getTabCount() - 1); + tabbedPane.addTab( + "Administration", + panelAdmin + ); + + tabbedPane.setSelectedIndex( + tabbedPane.getTabCount() - 1 + ); } + } else { + // Si le mot de passe n'est pas le bon - JOptionPane.showMessageDialog(this, "Mot de passe incorrect !", "Erreur authentification", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog( + this, + "Mot de passe incorrect !", + "Erreur authentification", + JOptionPane.ERROR_MESSAGE + ); } } catch (Exception ex) { - // Si je fichier properties n'est pas trouvé - JOptionPane.showMessageDialog(this, "Erreur properties.", "Erreur properties", JOptionPane.ERROR_MESSAGE); + + // Si le fichier properties n'est pas trouve + JOptionPane.showMessageDialog( + this, + "Erreur properties.", + "Erreur properties", + JOptionPane.ERROR_MESSAGE + ); } } - }); - // menuAdmin.add(new JMenuItem("S'authentifier")); + // Ajout des menus a la barre de menu menuBar.add(menuActivite); menuBar.add(menuNiveau); menuBar.add(menuAdmin); - setJMenuBar(menuBar); // Ajout du menu à la fenêtre - // Création des panneaux [activités] + // Ajout de la barre de menu a la fenetre + setJMenuBar(menuBar); + + // Creation des panneaux des activites + + // Page d'accueil + HomePage homePage = new HomePage(); + // Ardoise MagicSlate ardoise = new MagicSlate(); @@ -108,26 +174,23 @@ public class PrimaryWindow extends JFrame { QuestionPanel panelQuestion = new QuestionPanel(); // Ajout des onglets visibles + tabbedPane.addTab("Accueil", homePage); tabbedPane.addTab("Dessin", ardoise); tabbedPane.addTab("Calcul", p); tabbedPane.addTab("Question", panelQuestion); - // Admin - /* - * Onglet Administration (quatrième onglet) - * invisible par défaut. Il ne sera ajouté au tabbedPane - * qu'après la validation du mot de passe. - */ - Properties props = new Properties(); - - // Ajout du gestionnaire d'onglets au centre de la fenêtre + // Ajout du gestionnaire d'onglets au centre de la fenetre add(tabbedPane, BorderLayout.CENTER); } public static void main(String[] args) { - // Lancement de l'interface graphique dans le thread sécurisé de Swing + + // Lancement de l'interface graphique dans le thread Swing SwingUtilities.invokeLater(() -> { - PrimaryWindow frame = new PrimaryWindow(); + + PrimaryWindow frame = + new PrimaryWindow(); + frame.setVisible(true); }); } -- GitLab From 6b531f6ba33060c85adb034125083eb408e036b7 Mon Sep 17 00:00:00 2001 From: "Teo R." Date: Thu, 24 Sep 2026 10:06:04 +0200 Subject: [PATCH 2/4] Boutons HomePage fonctionnel --- ProjetJava/src/main/java/views/HomePage.java | 17 ++++++++++++++++- .../src/main/java/views/PrimaryWindow.java | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ProjetJava/src/main/java/views/HomePage.java b/ProjetJava/src/main/java/views/HomePage.java index a7744e7..7f6e625 100644 --- a/ProjetJava/src/main/java/views/HomePage.java +++ b/ProjetJava/src/main/java/views/HomePage.java @@ -19,7 +19,7 @@ import javax.swing.SwingConstants; * @author Teo */ public class HomePage extends JPanel { - public HomePage() { + public HomePage(JTabbedPane tabbedPane) { // Parametres du panel principal setLayout(new BorderLayout()); @@ -92,5 +92,20 @@ public class HomePage extends JPanel { // Ajout du panel des noms en bas add(panelNoms, BorderLayout.SOUTH); + + // Action du bouton Jeu 1 + jeu1.addActionListener(e -> { + tabbedPane.setSelectedIndex(1); + }); + + // Action du bouton Jeu 2 + jeu2.addActionListener(e -> { + tabbedPane.setSelectedIndex(2); + }); + + // Action du bouton Jeu 3 + jeu3.addActionListener(e -> { + tabbedPane.setSelectedIndex(3); + }); } } diff --git a/ProjetJava/src/main/java/views/PrimaryWindow.java b/ProjetJava/src/main/java/views/PrimaryWindow.java index b862164..bd802ec 100644 --- a/ProjetJava/src/main/java/views/PrimaryWindow.java +++ b/ProjetJava/src/main/java/views/PrimaryWindow.java @@ -162,7 +162,7 @@ public class PrimaryWindow extends JFrame { // Creation des panneaux des activites // Page d'accueil - HomePage homePage = new HomePage(); + HomePage homePage = new HomePage(tabbedPane); // Ardoise MagicSlate ardoise = new MagicSlate(); -- GitLab From 60e449f2d1f7f7b996ec71ec33c028f5d8a28016 Mon Sep 17 00:00:00 2001 From: "Teo R." Date: Thu, 24 Sep 2026 10:23:39 +0200 Subject: [PATCH 3/4] Modififcation HomePage pour centrer le tout + Ajout Noms en bas de page --- ProjetJava/src/main/java/views/HomePage.java | 53 ++++++++++++++------ 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/ProjetJava/src/main/java/views/HomePage.java b/ProjetJava/src/main/java/views/HomePage.java index 7f6e625..d09ef7d 100644 --- a/ProjetJava/src/main/java/views/HomePage.java +++ b/ProjetJava/src/main/java/views/HomePage.java @@ -13,28 +13,32 @@ import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; -import javax.swing.SwingConstants; + /** * * @author Teo */ public class HomePage extends JPanel { - public HomePage(JTabbedPane tabbedPane) { + + public HomePage(JTabbedPane tabbedPane) { // Parametres du panel principal setLayout(new BorderLayout()); + // Creation du panel contenant le contenu central + JPanel panelCentre = new JPanel( + new BorderLayout() + ); + // Creation du panel contenant le titre JPanel panelTitre = new JPanel(); // Creation du titre - JLabel titre = new JLabel( - "Jeux d'enfants", - SwingConstants.CENTER - ); + JLabel titre = new JLabel("Jeux d'enfants"); titre.setPreferredSize(new Dimension(300, 70)); titre.setFont(new Font("Arial", Font.PLAIN, 30)); + titre.setHorizontalAlignment(JLabel.CENTER); titre.setBorder( BorderFactory.createLineBorder( java.awt.Color.GRAY @@ -44,11 +48,13 @@ public class HomePage extends JPanel { // Ajout du titre au panel panelTitre.add(titre); - // Ajout du panel titre en haut - add(panelTitre, BorderLayout.NORTH); + // Ajout du titre en haut + panelCentre.add(panelTitre, BorderLayout.NORTH); // Creation du panel contenant les boutons - JPanel panelJeux = new JPanel(); + JPanel panelJeux = new JPanel( + new FlowLayout(FlowLayout.CENTER) + ); // Creation du bouton Jeu 1 JButton jeu1 = new JButton("Jeu 1"); @@ -70,8 +76,23 @@ public class HomePage extends JPanel { panelJeux.add(jeu2); panelJeux.add(jeu3); - // Ajout du panel des jeux au centre - add(panelJeux, BorderLayout.CENTER); + // Ajout des boutons au centre + panelCentre.add(panelJeux, BorderLayout.CENTER); + + // Creation du panel permettant de centrer le contenu + JPanel panelPrincipal = new JPanel( + new FlowLayout( + FlowLayout.CENTER, + 0, + 300 + ) + ); + + // Ajout du contenu central + panelPrincipal.add(panelCentre); + + // Ajout du contenu au centre de la page + add(panelPrincipal, BorderLayout.CENTER); // Creation du panel contenant les noms JPanel panelNoms = new JPanel( @@ -79,10 +100,10 @@ public class HomePage extends JPanel { ); // Creation des noms des participants - JLabel nom1 = new JLabel("Axel L."); - JLabel nom2 = new JLabel("Adrien F."); - JLabel nom3 = new JLabel("Vincent M."); - JLabel nom4 = new JLabel("Teo R."); + JLabel nom1 = new JLabel("Nom 1"); + JLabel nom2 = new JLabel("Nom 2"); + JLabel nom3 = new JLabel("Nom 3"); + JLabel nom4 = new JLabel("Nom 4"); // Ajout des noms au panel panelNoms.add(nom1); @@ -92,7 +113,7 @@ public class HomePage extends JPanel { // Ajout du panel des noms en bas add(panelNoms, BorderLayout.SOUTH); - + // Action du bouton Jeu 1 jeu1.addActionListener(e -> { tabbedPane.setSelectedIndex(1); -- GitLab From 1c710b11885e5f900c908fe2136c1db878738f7b Mon Sep 17 00:00:00 2001 From: "Teo R." Date: Thu, 24 Sep 2026 10:55:53 +0200 Subject: [PATCH 4/4] Modification structure PrimaryWindow pour faire afficher le HomePage sans les onglets des jeux --- ProjetJava/src/main/java/views/HomePage.java | 45 ++-- .../src/main/java/views/PrimaryWindow.java | 231 +++++++++--------- 2 files changed, 144 insertions(+), 132 deletions(-) diff --git a/ProjetJava/src/main/java/views/HomePage.java b/ProjetJava/src/main/java/views/HomePage.java index d09ef7d..c042ecf 100644 --- a/ProjetJava/src/main/java/views/HomePage.java +++ b/ProjetJava/src/main/java/views/HomePage.java @@ -12,7 +12,6 @@ import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; -import javax.swing.JTabbedPane; /** * @@ -20,7 +19,11 @@ import javax.swing.JTabbedPane; */ public class HomePage extends JPanel { - public HomePage(JTabbedPane tabbedPane) { + private JButton jeu1; + private JButton jeu2; + private JButton jeu3; + + public HomePage() { // Parametres du panel principal setLayout(new BorderLayout()); @@ -57,17 +60,17 @@ public class HomePage extends JPanel { ); // Creation du bouton Jeu 1 - JButton jeu1 = new JButton("Jeu 1"); + jeu1 = new JButton("Jeu 1"); jeu1.setPreferredSize(new Dimension(150, 60)); jeu1.setFont(new Font("Arial", Font.PLAIN, 22)); // Creation du bouton Jeu 2 - JButton jeu2 = new JButton("Jeu 2"); + jeu2 = new JButton("Jeu 2"); jeu2.setPreferredSize(new Dimension(150, 60)); jeu2.setFont(new Font("Arial", Font.PLAIN, 22)); // Creation du bouton Jeu 3 - JButton jeu3 = new JButton("Jeu 3"); + jeu3 = new JButton("Jeu 3"); jeu3.setPreferredSize(new Dimension(150, 60)); jeu3.setFont(new Font("Arial", Font.PLAIN, 22)); @@ -100,10 +103,10 @@ public class HomePage extends JPanel { ); // Creation des noms des participants - JLabel nom1 = new JLabel("Nom 1"); - JLabel nom2 = new JLabel("Nom 2"); - JLabel nom3 = new JLabel("Nom 3"); - JLabel nom4 = new JLabel("Nom 4"); + JLabel nom1 = new JLabel("Axel L."); + JLabel nom2 = new JLabel("Adrien F."); + JLabel nom3 = new JLabel("Vincent M."); + JLabel nom4 = new JLabel("Teo R."); // Ajout des noms au panel panelNoms.add(nom1); @@ -113,20 +116,20 @@ public class HomePage extends JPanel { // Ajout du panel des noms en bas add(panelNoms, BorderLayout.SOUTH); + } - // Action du bouton Jeu 1 - jeu1.addActionListener(e -> { - tabbedPane.setSelectedIndex(1); - }); + // Recuperation du bouton Jeu 1 + public JButton getJeu1() { + return jeu1; + } - // Action du bouton Jeu 2 - jeu2.addActionListener(e -> { - tabbedPane.setSelectedIndex(2); - }); + // Recuperation du bouton Jeu 2 + public JButton getJeu2() { + return jeu2; + } - // Action du bouton Jeu 3 - jeu3.addActionListener(e -> { - tabbedPane.setSelectedIndex(3); - }); + // Recuperation du bouton Jeu 3 + public JButton getJeu3() { + return jeu3; } } diff --git a/ProjetJava/src/main/java/views/PrimaryWindow.java b/ProjetJava/src/main/java/views/PrimaryWindow.java index bd802ec..8e00eed 100644 --- a/ProjetJava/src/main/java/views/PrimaryWindow.java +++ b/ProjetJava/src/main/java/views/PrimaryWindow.java @@ -28,170 +28,179 @@ public class PrimaryWindow extends JFrame { setTitle("Jeux d'enfants"); setSize(1200, 1000); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setLocationRelativeTo(null); // Centre la fenetre a l'ecran + setLocationRelativeTo(null); // Creation de la barre de menu JMenuBar menuBar = new JMenuBar(); - // Creation de la zone centrale avec les onglets - JTabbedPane tabbedPane = new JTabbedPane(); - // Creation du menu Activite JMenu menuActivite = new JMenu("Activite"); - JMenuItem menuDessin = new JMenuItem("Dessin"); - JMenuItem menuCalcul = new JMenuItem("Calcul"); - JMenuItem menuQuestion = new JMenuItem("Question"); + JMenuItem dessin = new JMenuItem("Dessin"); + JMenuItem calcul = new JMenuItem("Calcul"); + JMenuItem question = new JMenuItem("Question"); - // Ajout des choix au menu Activite - menuActivite.add(menuDessin); - menuActivite.add(menuCalcul); - menuActivite.add(menuQuestion); + menuActivite.add(dessin); + menuActivite.add(calcul); + menuActivite.add(question); // Creation du menu Niveau JMenu menuNiveau = new JMenu("Niveau"); - ButtonGroup groupeNiveau = new ButtonGroup(); - - JRadioButtonMenuItem niveau1 = - new JRadioButtonMenuItem("Niveau 1", true); - - JRadioButtonMenuItem niveau2 = - new JRadioButtonMenuItem("Niveau 2"); + JRadioButtonMenuItem niveau1 = new JRadioButtonMenuItem("Niveau 1"); + JRadioButtonMenuItem niveau2 = new JRadioButtonMenuItem("Niveau 2"); - groupeNiveau.add(niveau1); - groupeNiveau.add(niveau2); + niveau1.setSelected(true); menuNiveau.add(niveau1); menuNiveau.add(niveau2); // Creation du menu Administration - JMenu menuAdmin = new JMenu("Administration"); + JMenu menuAdministration = new JMenu("Administration"); - JMenuItem authPart = - new JMenuItem("S'authentifier"); + JMenuItem authentification = new JMenuItem("S'authentifier"); - menuAdmin.add(authPart); + menuAdministration.add(authentification); - // Gestion de l'authentification - authPart.addActionListener(e -> { + // Ajout des menus + menuBar.add(menuActivite); + menuBar.add(menuNiveau); + menuBar.add(menuAdministration); - String test = - JOptionPane.showInputDialog( - this, - "Message mdp" - ); + // Ajout de la barre de menu + setJMenuBar(menuBar); - if (test != null) { + // Creation de la page d'accueil + HomePage homePage = new HomePage(); - try { + // Creation du JTabbedPane + JTabbedPane tabbedPane = new JTabbedPane(); - // Chargement du fichier de configuration - Properties props = new Properties(); + // Creation du panel Dessin + MagicSlate magicSlate = new MagicSlate(); - props.load( - DbConnection.class - .getClassLoader() - .getResourceAsStream( - "database_config.properties" - ) - ); + // Creation du panel Calcul + CalculPanel calculPanel = new CalculPanel(); - String testMdp = - props.getProperty("password"); + // Creation du panel Question + QuestionPanel questionPanel = new QuestionPanel(); - if (test.equals(testMdp)) { + // Ajout des panels dans les onglets + tabbedPane.addTab("Dessin", magicSlate); + tabbedPane.addTab("Calcul", calculPanel); + tabbedPane.addTab("Question", questionPanel); - // Verification si l'onglet est deja ouvert - if (tabbedPane.indexOfTab("Administration") == -1) { + // Affichage de la page d'accueil + add(homePage, BorderLayout.CENTER); - // Creation du panel Administration - JPanel panelAdmin = new JPanel(); + // Action du bouton Jeu 1 + homePage.getJeu1().addActionListener(e -> { - panelAdmin.setBackground( - Color.LIGHT_GRAY - ); + // Retrait de la page d'accueil + remove(homePage); - panelAdmin.add( - new JLabel("Zone Administrateur") - ); + // Ajout du JTabbedPane + add(tabbedPane, BorderLayout.CENTER); - // Ajout et focus sur l'onglet Administration - tabbedPane.addTab( - "Administration", - panelAdmin - ); + // Selection du jeu Dessin + tabbedPane.setSelectedIndex(0); - tabbedPane.setSelectedIndex( - tabbedPane.getTabCount() - 1 - ); - } + // Mise a jour de la fenetre + revalidate(); + repaint(); + }); + + // Action du bouton Jeu 2 + homePage.getJeu2().addActionListener(e -> { - } else { + // Retrait de la page d'accueil + remove(homePage); - // Si le mot de passe n'est pas le bon - JOptionPane.showMessageDialog( - this, - "Mot de passe incorrect !", - "Erreur authentification", - JOptionPane.ERROR_MESSAGE - ); - } + // Ajout du JTabbedPane + add(tabbedPane, BorderLayout.CENTER); - } catch (Exception ex) { + // Selection du jeu Calcul + tabbedPane.setSelectedIndex(1); - // Si le fichier properties n'est pas trouve - JOptionPane.showMessageDialog( - this, - "Erreur properties.", - "Erreur properties", - JOptionPane.ERROR_MESSAGE - ); - } - } + // Mise a jour de la fenetre + revalidate(); + repaint(); }); - // Ajout des menus a la barre de menu - menuBar.add(menuActivite); - menuBar.add(menuNiveau); - menuBar.add(menuAdmin); + // Action du bouton Jeu 3 + homePage.getJeu3().addActionListener(e -> { - // Ajout de la barre de menu a la fenetre - setJMenuBar(menuBar); + // Retrait de la page d'accueil + remove(homePage); + + // Ajout du JTabbedPane + add(tabbedPane, BorderLayout.CENTER); + + // Selection du jeu Question + tabbedPane.setSelectedIndex(2); - // Creation des panneaux des activites + // Mise a jour de la fenetre + revalidate(); + repaint(); + }); + + // Action du menu Dessin + dessin.addActionListener(e -> { + + // Retrait de la page d'accueil + remove(homePage); + + // Ajout du JTabbedPane + add(tabbedPane, BorderLayout.CENTER); - // Page d'accueil - HomePage homePage = new HomePage(tabbedPane); + // Selection du jeu Dessin + tabbedPane.setSelectedIndex(0); - // Ardoise - MagicSlate ardoise = new MagicSlate(); + // Mise a jour de la fenetre + revalidate(); + repaint(); + }); + + // Action du menu Calcul + calcul.addActionListener(e -> { - // Calcul - CalculPanel p = new CalculPanel(); + // Retrait de la page d'accueil + remove(homePage); - // Question - QuestionPanel panelQuestion = new QuestionPanel(); + // Ajout du JTabbedPane + add(tabbedPane, BorderLayout.CENTER); - // Ajout des onglets visibles - tabbedPane.addTab("Accueil", homePage); - tabbedPane.addTab("Dessin", ardoise); - tabbedPane.addTab("Calcul", p); - tabbedPane.addTab("Question", panelQuestion); + // Selection du jeu Calcul + tabbedPane.setSelectedIndex(1); + + // Mise a jour de la fenetre + revalidate(); + repaint(); + }); - // Ajout du gestionnaire d'onglets au centre de la fenetre - add(tabbedPane, BorderLayout.CENTER); + // Action du menu Question + question.addActionListener(e -> { + + // Retrait de la page d'accueil + remove(homePage); + + // Ajout du JTabbedPane + add(tabbedPane, BorderLayout.CENTER); + + // Selection du jeu Question + tabbedPane.setSelectedIndex(2); + + // Mise a jour de la fenetre + revalidate(); + repaint(); + }); } public static void main(String[] args) { - // Lancement de l'interface graphique dans le thread Swing SwingUtilities.invokeLater(() -> { - - PrimaryWindow frame = - new PrimaryWindow(); - - frame.setVisible(true); + PrimaryWindow window = new PrimaryWindow(); + window.setVisible(true); }); } } -- GitLab