diff --git a/TestV2/src/fr/monkhanny/dorfromantik/controller/MainMenuResizeHandler.java b/TestV2/src/fr/monkhanny/dorfromantik/controller/MainMenuResizeHandler.java index ad75606..742c16a 100644 --- a/TestV2/src/fr/monkhanny/dorfromantik/controller/MainMenuResizeHandler.java +++ b/TestV2/src/fr/monkhanny/dorfromantik/controller/MainMenuResizeHandler.java @@ -2,9 +2,11 @@ package fr.monkhanny.dorfromantik.controller; import fr.monkhanny.dorfromantik.gui.MainMenu; import fr.monkhanny.dorfromantik.Options; +import fr.monkhanny.dorfromantik.gui.ButtonHoverAnimator; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; +import javax.swing.JButton; public class MainMenuResizeHandler extends ComponentAdapter { @@ -16,11 +18,14 @@ public class MainMenuResizeHandler extends ComponentAdapter { @Override public void componentResized(ComponentEvent e) { + int mainMenuWidth = mainMenu.getWidth(); + // Ajuster la taille de la police du titre en fonction de la taille de la fenêtre - float newFontSize = Options.BASE_TITLE_FONT_SIZE * (mainMenu.getWidth() / 900f); + float newFontSize = Options.BASE_TITLE_FONT_SIZE * (mainMenuWidth / 900f); mainMenu.getTitleLabel().updateTitleFont(newFontSize); // Mettre à jour les polices des boutons - mainMenu.getButtonPanel().updateButtonFonts(mainMenu.getWidth()); + mainMenu.getButtonPanel().updateButtonFonts(mainMenuWidth); + ButtonHoverAnimator.updateOriginalFont(mainMenuWidth / 30f); // On passe la nouvelle taille de police pour chaque bouton } } diff --git a/TestV2/src/fr/monkhanny/dorfromantik/gui/ButtonHoverAnimator.java b/TestV2/src/fr/monkhanny/dorfromantik/gui/ButtonHoverAnimator.java index 8abc76d..9ee623f 100644 --- a/TestV2/src/fr/monkhanny/dorfromantik/gui/ButtonHoverAnimator.java +++ b/TestV2/src/fr/monkhanny/dorfromantik/gui/ButtonHoverAnimator.java @@ -11,7 +11,7 @@ public class ButtonHoverAnimator { private final JButton button; private final Color originalColor; - private final Font originalFont; + private static Font originalFont; private Timer animationTimer; private float currentScale = 1.0f; @@ -30,4 +30,9 @@ public class ButtonHoverAnimator { animationTimer = new Timer(Options.ANIMATION_DELAY, new ButtonHoverAnimationListener(entering, button, originalColor, originalFont)); animationTimer.start(); } + + public static void updateOriginalFont(float newFontSize) { + originalFont = originalFont.deriveFont(newFontSize); + } + } diff --git a/TestV2/src/fr/monkhanny/dorfromantik/gui/ButtonPanel.java b/TestV2/src/fr/monkhanny/dorfromantik/gui/ButtonPanel.java index 47f7754..f6c096f 100644 --- a/TestV2/src/fr/monkhanny/dorfromantik/gui/ButtonPanel.java +++ b/TestV2/src/fr/monkhanny/dorfromantik/gui/ButtonPanel.java @@ -6,6 +6,9 @@ import fr.monkhanny.dorfromantik.controller.MainMenuMouseController; import javax.swing.*; import java.awt.*; +import java.util.List; +import java.util.Arrays; + public class ButtonPanel extends JPanel { @@ -68,6 +71,10 @@ public class ButtonPanel extends JPanel { return exitButton; } + public List getButtons() { + return Arrays.asList(newGameButton, continueGameButton, howToPlayButton, settingsButton, exitButton); + } + public void updateButtonFonts(int windowWidth) { // Mettre à jour la police des boutons avec la taille ajustée float newFontSize = windowWidth / 30f;