diff --git a/bin/controller/AllScore.class b/bin/controller/AllScore.class new file mode 100644 index 0000000..690daf6 Binary files /dev/null and b/bin/controller/AllScore.class differ diff --git a/bin/controller/BackButtonMouseListener.class b/bin/controller/BackButtonMouseListener.class new file mode 100644 index 0000000..084ce77 Binary files /dev/null and b/bin/controller/BackButtonMouseListener.class differ diff --git a/bin/controller/CameraController.class b/bin/controller/CameraController.class new file mode 100644 index 0000000..4202e78 Binary files /dev/null and b/bin/controller/CameraController.class differ diff --git a/bin/controller/CameraControllerListener.class b/bin/controller/CameraControllerListener.class new file mode 100644 index 0000000..96543c6 Binary files /dev/null and b/bin/controller/CameraControllerListener.class differ diff --git a/bin/controller/GameContext.class b/bin/controller/GameContext.class new file mode 100644 index 0000000..ff319ea Binary files /dev/null and b/bin/controller/GameContext.class differ diff --git a/bin/controller/GameController.class b/bin/controller/GameController.class new file mode 100644 index 0000000..d34f2d1 Binary files /dev/null and b/bin/controller/GameController.class differ diff --git a/bin/controller/GameEndListener.class b/bin/controller/GameEndListener.class new file mode 100644 index 0000000..ff8be49 Binary files /dev/null and b/bin/controller/GameEndListener.class differ diff --git a/bin/controller/HexagonMouseListener.class b/bin/controller/HexagonMouseListener.class new file mode 100644 index 0000000..07f2012 Binary files /dev/null and b/bin/controller/HexagonMouseListener.class differ diff --git a/bin/controller/HowToPlayListener.class b/bin/controller/HowToPlayListener.class new file mode 100644 index 0000000..fab0642 Binary files /dev/null and b/bin/controller/HowToPlayListener.class differ diff --git a/bin/controller/MouseDragHandler.class b/bin/controller/MouseDragHandler.class new file mode 100644 index 0000000..796a003 Binary files /dev/null and b/bin/controller/MouseDragHandler.class differ diff --git a/bin/controller/MousePressHandler.class b/bin/controller/MousePressHandler.class new file mode 100644 index 0000000..cad00d3 Binary files /dev/null and b/bin/controller/MousePressHandler.class differ diff --git a/bin/controller/MouseWheelController.class b/bin/controller/MouseWheelController.class new file mode 100644 index 0000000..c30c887 Binary files /dev/null and b/bin/controller/MouseWheelController.class differ diff --git a/bin/controller/NewGameButtonListener.class b/bin/controller/NewGameButtonListener.class new file mode 100644 index 0000000..d286f18 Binary files /dev/null and b/bin/controller/NewGameButtonListener.class differ diff --git a/bin/controller/NewListener.class b/bin/controller/NewListener.class new file mode 100644 index 0000000..3c98161 Binary files /dev/null and b/bin/controller/NewListener.class differ diff --git a/bin/controller/QuiListener.class b/bin/controller/QuiListener.class new file mode 100644 index 0000000..7bb889d Binary files /dev/null and b/bin/controller/QuiListener.class differ diff --git a/bin/controller/QuitButtonListener.class b/bin/controller/QuitButtonListener.class new file mode 100644 index 0000000..85b7735 Binary files /dev/null and b/bin/controller/QuitButtonListener.class differ diff --git a/bin/controller/ResumeButtonListener.class b/bin/controller/ResumeButtonListener.class new file mode 100644 index 0000000..97485ea Binary files /dev/null and b/bin/controller/ResumeButtonListener.class differ diff --git a/bin/controller/ScoreGameContext.class b/bin/controller/ScoreGameContext.class new file mode 100644 index 0000000..d6755a3 Binary files /dev/null and b/bin/controller/ScoreGameContext.class differ diff --git a/bin/controller/SendScore.class b/bin/controller/SendScore.class new file mode 100644 index 0000000..f6b8ed5 Binary files /dev/null and b/bin/controller/SendScore.class differ diff --git a/bin/controller/SerieListener.class b/bin/controller/SerieListener.class new file mode 100644 index 0000000..934c76d Binary files /dev/null and b/bin/controller/SerieListener.class differ diff --git a/bin/controller/SeriesButtonListener.class b/bin/controller/SeriesButtonListener.class new file mode 100644 index 0000000..76222f0 Binary files /dev/null and b/bin/controller/SeriesButtonListener.class differ diff --git a/bin/controller/SeriesSelector.class b/bin/controller/SeriesSelector.class new file mode 100644 index 0000000..18e6c01 Binary files /dev/null and b/bin/controller/SeriesSelector.class differ diff --git a/bin/controller/TilePlacer.class b/bin/controller/TilePlacer.class new file mode 100644 index 0000000..19c6fde Binary files /dev/null and b/bin/controller/TilePlacer.class differ diff --git a/bin/java/view/img/D.png b/bin/java/view/img/D.png new file mode 100644 index 0000000..7dc4b96 Binary files /dev/null and b/bin/java/view/img/D.png differ diff --git a/bin/java/view/img/bg.png b/bin/java/view/img/bg.png new file mode 100644 index 0000000..e3621e8 Binary files /dev/null and b/bin/java/view/img/bg.png differ diff --git a/bin/java/view/img/quit.png b/bin/java/view/img/quit.png new file mode 100644 index 0000000..aa7b154 Binary files /dev/null and b/bin/java/view/img/quit.png differ diff --git a/bin/lib/mariadb.jar b/bin/lib/mariadb.jar new file mode 100644 index 0000000..40028c4 Binary files /dev/null and b/bin/lib/mariadb.jar differ diff --git a/bin/main/Main.class b/bin/main/Main.class new file mode 100644 index 0000000..9f335c1 Binary files /dev/null and b/bin/main/Main.class differ diff --git a/bin/model/Pocket.class b/bin/model/Pocket.class new file mode 100644 index 0000000..315513c Binary files /dev/null and b/bin/model/Pocket.class differ diff --git a/bin/model/TerrainType.class b/bin/model/TerrainType.class new file mode 100644 index 0000000..4b79784 Binary files /dev/null and b/bin/model/TerrainType.class differ diff --git a/bin/model/Tile.class b/bin/model/Tile.class new file mode 100644 index 0000000..96b6852 Binary files /dev/null and b/bin/model/Tile.class differ diff --git a/bin/model/TileDatabaseManager.class b/bin/model/TileDatabaseManager.class new file mode 100644 index 0000000..ec77795 Binary files /dev/null and b/bin/model/TileDatabaseManager.class differ diff --git a/bin/view/App.class b/bin/view/App.class new file mode 100644 index 0000000..dae9ce6 Binary files /dev/null and b/bin/view/App.class differ diff --git a/bin/view/BtnPerso.class b/bin/view/BtnPerso.class new file mode 100644 index 0000000..6ed3ce4 Binary files /dev/null and b/bin/view/BtnPerso.class differ diff --git a/bin/view/ButtonHoverListener.class b/bin/view/ButtonHoverListener.class new file mode 100644 index 0000000..dfb1b19 Binary files /dev/null and b/bin/view/ButtonHoverListener.class differ diff --git a/bin/view/GameView.class b/bin/view/GameView.class new file mode 100644 index 0000000..cf2b6e7 Binary files /dev/null and b/bin/view/GameView.class differ diff --git a/bin/view/HexagonTile$1.class b/bin/view/HexagonTile$1.class new file mode 100644 index 0000000..f9a859f Binary files /dev/null and b/bin/view/HexagonTile$1.class differ diff --git a/bin/view/HexagonTile.class b/bin/view/HexagonTile.class new file mode 100644 index 0000000..b8009f4 Binary files /dev/null and b/bin/view/HexagonTile.class differ diff --git a/bin/view/HowToPlayView.class b/bin/view/HowToPlayView.class new file mode 100644 index 0000000..490e997 Binary files /dev/null and b/bin/view/HowToPlayView.class differ diff --git a/bin/view/MenuView.class b/bin/view/MenuView.class new file mode 100644 index 0000000..c6b962d Binary files /dev/null and b/bin/view/MenuView.class differ diff --git a/bin/view/ScoreView.class b/bin/view/ScoreView.class new file mode 100644 index 0000000..4d0e889 Binary files /dev/null and b/bin/view/ScoreView.class differ diff --git a/src/main/Main.java b/src/main/Main.java index 61e9218..3d38da9 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -1,21 +1,39 @@ package main; -import view.*; +import view.*; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.swing.*; import java.net.URL; +/** + * Classe principale du programme qui initialise l'interface utilisateur + * et joue un fichier audio en boucle. + */ public class Main { + + /** + * Point d'entrée du programme. Initialise l'interface utilisateur + * et démarre la lecture en boucle de la musique de fond. + * + * @param args les arguments de ligne de commande (non utilisés) + */ public static void main(String[] args) { SwingUtilities.invokeLater(() -> { MenuView menuView = new MenuView(); App.addView(menuView, App.MENU_VIEW); App.showView(App.MENU_VIEW); + String filepath = "/java/Music/audio.wav"; + PlayMusic(filepath); }); } + /** + * Joue un fichier audio en boucle. + * + * @param location le chemin d'accès au fichier audio à jouer + */ public static void PlayMusic(String location) { try { URL url = Main.class.getResource(location); @@ -24,6 +42,7 @@ public class Main { Clip clip = AudioSystem.getClip(); clip.open(audioInput); clip.start(); + clip.loop(Clip.LOOP_CONTINUOUSLY); // Boucle en continu } else { System.out.println("Fichier audio introuvable"); } diff --git a/src/main/Makefile b/src/main/Makefile index 4bbf8c0..1ba8311 100644 --- a/src/main/Makefile +++ b/src/main/Makefile @@ -107,6 +107,10 @@ java/controller/AllScore.class: java/controller/AllScore.java ### RÈGLE POUR COPIER LES IMAGES ### +Music: + mkdir -p classes/java/Music + if [ -d java/Music ]; then cp -r java/Music/* classes/java/Music/; else echo "Le répertoire java/Music n'existe pas."; fi + copy-images: mkdir -p classes/java/view/img if [ -d java/view/img ]; then cp -r java/view/img/* classes/java/view/img/; else echo "Le répertoire java/view/img n'existe pas."; fi @@ -119,7 +123,8 @@ $(MANIFEST_FILE): ### ARCHIVE JAR ### -Main.jar: Main.class copy-images $(MANIFEST_FILE) +Main.jar: Main.class copy-images Music $(MANIFEST_FILE) + mkdir -p classes/java/Music/ mkdir -p classes/java/view/img jar cfm Main.jar $(MANIFEST_FILE) -C classes . @@ -131,9 +136,10 @@ run: Main.class copy-images clean: -rm -f classes/**/*.class -rm -rf classes/java/view/img + -rm -rf classes/Music ### BUTS FACTICES ### .PHONY: run clean copy-images -### FIN ### +### FIN ### \ No newline at end of file diff --git a/src/main/classes/controller/AllScore.class b/src/main/classes/controller/AllScore.class new file mode 100644 index 0000000..690daf6 Binary files /dev/null and b/src/main/classes/controller/AllScore.class differ diff --git a/src/main/classes/controller/CameraController.class b/src/main/classes/controller/CameraController.class new file mode 100644 index 0000000..4202e78 Binary files /dev/null and b/src/main/classes/controller/CameraController.class differ diff --git a/src/main/classes/controller/CameraControllerListener.class b/src/main/classes/controller/CameraControllerListener.class new file mode 100644 index 0000000..96543c6 Binary files /dev/null and b/src/main/classes/controller/CameraControllerListener.class differ diff --git a/src/main/classes/controller/GameContext.class b/src/main/classes/controller/GameContext.class new file mode 100644 index 0000000..ff319ea Binary files /dev/null and b/src/main/classes/controller/GameContext.class differ diff --git a/src/main/classes/controller/GameController.class b/src/main/classes/controller/GameController.class new file mode 100644 index 0000000..d34f2d1 Binary files /dev/null and b/src/main/classes/controller/GameController.class differ diff --git a/src/main/classes/controller/GameEndListener.class b/src/main/classes/controller/GameEndListener.class new file mode 100644 index 0000000..ff8be49 Binary files /dev/null and b/src/main/classes/controller/GameEndListener.class differ diff --git a/src/main/classes/controller/HexagonMouseListener.class b/src/main/classes/controller/HexagonMouseListener.class new file mode 100644 index 0000000..07f2012 Binary files /dev/null and b/src/main/classes/controller/HexagonMouseListener.class differ diff --git a/src/main/classes/controller/MouseDragHandler.class b/src/main/classes/controller/MouseDragHandler.class new file mode 100644 index 0000000..796a003 Binary files /dev/null and b/src/main/classes/controller/MouseDragHandler.class differ diff --git a/src/main/classes/controller/MousePressHandler.class b/src/main/classes/controller/MousePressHandler.class new file mode 100644 index 0000000..cad00d3 Binary files /dev/null and b/src/main/classes/controller/MousePressHandler.class differ diff --git a/src/main/classes/controller/MouseWheelController.class b/src/main/classes/controller/MouseWheelController.class new file mode 100644 index 0000000..c30c887 Binary files /dev/null and b/src/main/classes/controller/MouseWheelController.class differ diff --git a/src/main/classes/controller/ScoreGameContext.class b/src/main/classes/controller/ScoreGameContext.class new file mode 100644 index 0000000..d6755a3 Binary files /dev/null and b/src/main/classes/controller/ScoreGameContext.class differ diff --git a/src/main/classes/controller/SendScore.class b/src/main/classes/controller/SendScore.class new file mode 100644 index 0000000..f6b8ed5 Binary files /dev/null and b/src/main/classes/controller/SendScore.class differ diff --git a/src/main/classes/controller/SeriesSelector.class b/src/main/classes/controller/SeriesSelector.class new file mode 100644 index 0000000..18e6c01 Binary files /dev/null and b/src/main/classes/controller/SeriesSelector.class differ diff --git a/src/main/classes/controller/TilePlacer.class b/src/main/classes/controller/TilePlacer.class new file mode 100644 index 0000000..19c6fde Binary files /dev/null and b/src/main/classes/controller/TilePlacer.class differ diff --git a/src/main/classes/java/view/img/D.png b/src/main/classes/java/view/img/D.png new file mode 100644 index 0000000..7dc4b96 Binary files /dev/null and b/src/main/classes/java/view/img/D.png differ diff --git a/src/main/classes/java/view/img/bg.png b/src/main/classes/java/view/img/bg.png new file mode 100644 index 0000000..e3621e8 Binary files /dev/null and b/src/main/classes/java/view/img/bg.png differ diff --git a/src/main/classes/java/view/img/quit.png b/src/main/classes/java/view/img/quit.png new file mode 100644 index 0000000..aa7b154 Binary files /dev/null and b/src/main/classes/java/view/img/quit.png differ diff --git a/src/main/classes/main/Main.class b/src/main/classes/main/Main.class new file mode 100644 index 0000000..9f335c1 Binary files /dev/null and b/src/main/classes/main/Main.class differ diff --git a/src/main/classes/model/Pocket.class b/src/main/classes/model/Pocket.class new file mode 100644 index 0000000..315513c Binary files /dev/null and b/src/main/classes/model/Pocket.class differ diff --git a/src/main/classes/model/TerrainType.class b/src/main/classes/model/TerrainType.class new file mode 100644 index 0000000..4b79784 Binary files /dev/null and b/src/main/classes/model/TerrainType.class differ diff --git a/src/main/classes/model/Tile.class b/src/main/classes/model/Tile.class new file mode 100644 index 0000000..96b6852 Binary files /dev/null and b/src/main/classes/model/Tile.class differ diff --git a/src/main/classes/model/TileDatabaseManager.class b/src/main/classes/model/TileDatabaseManager.class new file mode 100644 index 0000000..ec77795 Binary files /dev/null and b/src/main/classes/model/TileDatabaseManager.class differ diff --git a/src/main/classes/view/App.class b/src/main/classes/view/App.class new file mode 100644 index 0000000..dae9ce6 Binary files /dev/null and b/src/main/classes/view/App.class differ diff --git a/src/main/classes/view/BtnPerso.class b/src/main/classes/view/BtnPerso.class new file mode 100644 index 0000000..6ed3ce4 Binary files /dev/null and b/src/main/classes/view/BtnPerso.class differ diff --git a/src/main/classes/view/ButtonHoverListener.class b/src/main/classes/view/ButtonHoverListener.class new file mode 100644 index 0000000..dfb1b19 Binary files /dev/null and b/src/main/classes/view/ButtonHoverListener.class differ diff --git a/src/main/classes/view/GameView.class b/src/main/classes/view/GameView.class new file mode 100644 index 0000000..cf2b6e7 Binary files /dev/null and b/src/main/classes/view/GameView.class differ diff --git a/src/main/classes/view/HexagonTile$1.class b/src/main/classes/view/HexagonTile$1.class new file mode 100644 index 0000000..f9a859f Binary files /dev/null and b/src/main/classes/view/HexagonTile$1.class differ diff --git a/src/main/classes/view/HexagonTile.class b/src/main/classes/view/HexagonTile.class new file mode 100644 index 0000000..b8009f4 Binary files /dev/null and b/src/main/classes/view/HexagonTile.class differ diff --git a/src/main/classes/view/MenuView.class b/src/main/classes/view/MenuView.class new file mode 100644 index 0000000..b0a17f5 Binary files /dev/null and b/src/main/classes/view/MenuView.class differ diff --git a/src/main/classes/view/ScoreView$1.class b/src/main/classes/view/ScoreView$1.class new file mode 100644 index 0000000..d25997d Binary files /dev/null and b/src/main/classes/view/ScoreView$1.class differ diff --git a/src/main/classes/view/ScoreView.class b/src/main/classes/view/ScoreView.class new file mode 100644 index 0000000..6b3abd8 Binary files /dev/null and b/src/main/classes/view/ScoreView.class differ diff --git a/src/main/java/controller/BackButtonMouseListener.java b/src/main/java/controller/BackButtonMouseListener.java new file mode 100644 index 0000000..c86a489 --- /dev/null +++ b/src/main/java/controller/BackButtonMouseListener.java @@ -0,0 +1,39 @@ +package controller; + +import java.awt.Color; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import javax.swing.JButton; + +/** + * Listener de souris pour le bouton de retour dans l'interface de score. + * Change la couleur de fond du bouton lorsqu'il est survolé. + */ +public class BackButtonMouseListener extends MouseAdapter { + private final JButton button; + private final Color hoverColor; + private final Color normalColor; + + /** + * Constructeur de <code>BackButtonMouseListener</code>. + * + * @param button Le bouton cible. + * @param hoverColor La couleur de fond du bouton lors du survol. + * @param normalColor La couleur de fond normale du bouton. + */ + public BackButtonMouseListener(JButton button, Color hoverColor, Color normalColor) { + this.button = button; + this.hoverColor = hoverColor; + this.normalColor = normalColor; + } + + @Override + public void mouseEntered(MouseEvent e) { + button.setBackground(hoverColor); + } + + @Override + public void mouseExited(MouseEvent e) { + button.setBackground(normalColor); + } +} diff --git a/src/main/java/controller/NewGameButtonListener.java b/src/main/java/controller/NewGameButtonListener.java new file mode 100644 index 0000000..80d9ce9 --- /dev/null +++ b/src/main/java/controller/NewGameButtonListener.java @@ -0,0 +1,22 @@ +package controller; + +import view.MenuView; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * Listener pour le bouton Nouveaux Jeu dans le menu principal. + */ +public class NewGameButtonListener implements ActionListener { + private final MenuView menuView; + + public NewGameButtonListener(MenuView menuView) { + this.menuView = menuView; + } + + @Override + public void actionPerformed(ActionEvent e) { + menuView.toggleHowToPlay(); + } +} diff --git a/src/main/java/controller/QuitButtonListener.java b/src/main/java/controller/QuitButtonListener.java new file mode 100644 index 0000000..21c248d --- /dev/null +++ b/src/main/java/controller/QuitButtonListener.java @@ -0,0 +1,16 @@ +package controller; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * Listener pour le bouton Quitter dans le menu principal. + * Ferme l'application lorsqu'il est activé. + */ +public class QuitButtonListener implements ActionListener { + + @Override + public void actionPerformed(ActionEvent e) { + System.exit(0); // Ferme l'application + } +} diff --git a/src/main/java/controller/ResumeButtonListener.java b/src/main/java/controller/ResumeButtonListener.java new file mode 100644 index 0000000..1610bb4 --- /dev/null +++ b/src/main/java/controller/ResumeButtonListener.java @@ -0,0 +1,22 @@ +package controller; + +import view.MenuView; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * Listener pour le bouton Reprendre la partie dans le menu principal. + */ +public class ResumeButtonListener implements ActionListener { + private final MenuView menuView; + + public ResumeButtonListener(MenuView menuView) { + this.menuView = menuView; + } + + @Override + public void actionPerformed(ActionEvent e) { + menuView.showSeriesButtons(); + } +} diff --git a/src/main/java/controller/SeriesButtonListener.java b/src/main/java/controller/SeriesButtonListener.java new file mode 100644 index 0000000..bcf7848 --- /dev/null +++ b/src/main/java/controller/SeriesButtonListener.java @@ -0,0 +1,30 @@ +package controller; + +import view.App; +import view.GameView; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * Listener pour les boutons de sélection de séries dans le menu principal. + */ +public class SeriesButtonListener implements ActionListener { + private final int seriesId; + private final SeriesSelector seriesSelector; + + public SeriesButtonListener(int seriesId, SeriesSelector seriesSelector) { + this.seriesId = seriesId; + this.seriesSelector = seriesSelector; + } + + @Override + public void actionPerformed(ActionEvent e) { + GameView gameView = new GameView(seriesId); + App.addView(gameView, App.GAME_VIEW); + App.showView(App.GAME_VIEW); + if (seriesSelector != null) { + seriesSelector.startGameWithSeries(seriesId); + } + } +} diff --git a/src/main/java/view/MenuView.java b/src/main/java/view/MenuView.java index 64d5634..265a417 100644 --- a/src/main/java/view/MenuView.java +++ b/src/main/java/view/MenuView.java @@ -1,6 +1,10 @@ package view; import controller.SeriesSelector; +import controller.ResumeButtonListener; +import controller.NewGameButtonListener; +import controller.SeriesButtonListener; +import controller.QuitButtonListener; import javax.swing.*; import java.awt.*; @@ -59,7 +63,7 @@ public class MenuView extends JPanel { /** * Affiche ou masque le panneau "Comment jouer". */ - private void toggleHowToPlay() { + public void toggleHowToPlay() { seriesPanel.setVisible(false); howToPlayPanel.setVisible(!howToPlayPanel.isVisible()); centeredPanel.removeAll(); @@ -102,8 +106,10 @@ public class MenuView extends JPanel { quitButton.setOpaque(true); quitButton.setFocusPainted(false); - resumeButton.addActionListener(e -> showSeriesButtons()); - newGameButton.addActionListener(e -> toggleHowToPlay()); + // Utilisation des listeners dans des fichiers séparés + resumeButton.addActionListener(new ResumeButtonListener(this)); + newGameButton.addActionListener(new NewGameButtonListener(this)); + quitButton.addActionListener(new QuitButtonListener()); // Ajout du listener pour le bouton Quitter howToPlayPanel = createHowToPlayPanel(); howToPlayPanel.setVisible(false); @@ -183,14 +189,7 @@ public class MenuView extends JPanel { for (int i = 1; i <= 4; i++) { int seriesId = i; BtnPerso seriesButton = new BtnPerso("Série " + seriesId); - seriesButton.addActionListener(e -> { - GameView gameView = new GameView(seriesId); - App.addView(gameView, App.GAME_VIEW); - App.showView(App.GAME_VIEW); - if (seriesSelector != null) { - seriesSelector.startGameWithSeries(seriesId); - } - }); + seriesButton.addActionListener(new SeriesButtonListener(seriesId, seriesSelector)); seriesButton.addMouseListener(new ButtonHoverListener()); panel.add(seriesButton); diff --git a/src/main/java/view/ScoreView.java b/src/main/java/view/ScoreView.java index 161ef35..fe5e194 100644 --- a/src/main/java/view/ScoreView.java +++ b/src/main/java/view/ScoreView.java @@ -1,11 +1,12 @@ -// src/main/java/view/ScoreView.java package view; +import controller.AllScore; +import controller.BackButtonMouseListener; + import javax.swing.*; import java.awt.*; import java.util.ArrayList; import java.util.Collections; -import controller.AllScore; /** * La classe <code>ScoreView</code> représente l'interface utilisateur @@ -78,15 +79,9 @@ public class ScoreView extends JPanel { // Bouton de retour au menu BtnPerso backButton = new BtnPerso("Retour au Menu"); backButton.addActionListener(e -> App.showView(App.MENU_VIEW)); - backButton.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseEntered(java.awt.event.MouseEvent evt) { - backButton.setBackground(hoverColor); - } - public void mouseExited(java.awt.event.MouseEvent evt) { - backButton.setBackground(normalColor); - } - }); + // Ajout de BackButtonMouseListener pour le survol + backButton.addMouseListener(new BackButtonMouseListener(backButton, hoverColor, normalColor)); // Panneau de score actuel JPanel currentScorePanel = new JPanel();