@startuml class fr.monkhanny.dorfromantik.controller.MainMenuButtonController { - MainMenu mainMenu - JFrame settingsFrame - JFrame howToPlayFrame - JFrame gameModeFrame - JFrame gameFrame + <> MainMenuButtonController(MainMenu,JFrame,JFrame,JFrame,JFrame) - void configureFrame(JFrame) + void actionPerformed(ActionEvent) + void startNewGame() + void showHowToPlay() - void exitGame() - void openSettings() - void adjustFrameDisplay(JFrame) } class fr.monkhanny.dorfromantik.controller.ButtonHoverListener { - ButtonHoverAnimator animator + <> ButtonHoverListener(ButtonHoverAnimator) + void mouseEntered(MouseEvent) + void mouseExited(MouseEvent) } class fr.monkhanny.dorfromantik.controller.MainMenuMouseController { - ButtonPanel buttonPanel + <> MainMenuMouseController(ButtonPanel) - void initMouseListeners() - void addButtonHoverListener(JButton) } class fr.monkhanny.dorfromantik.controller.TutorialController { - TutorialPanel tutorialPanel - MainMenu mainMenu - JFrame tutorialFrame + <> TutorialController(MainMenu,JFrame) + JPanel getTutorialPanel() } class fr.monkhanny.dorfromantik.controller.GameModeController { - GameModeSelectionPanel gameModeSelectionPanel - JFrame gameFrame - MainMenu mainMenu - JFrame gameModeFrame - Database database - {static} Board board + <> GameModeController(JFrame,MainMenu,JFrame) + void setGameModeSelectionPanel(GameModeSelectionPanel) + void actionPerformed(ActionEvent) - long getSeedFromDatabaseByName(String) - void addCustomSeedToDatabase(long) - boolean isDynamicSeries(String) - void startGame(long) + {static} Board getGameModeBoard() } class fr.monkhanny.dorfromantik.controller.MainMenuResizeHandler { - MainMenu mainMenu + <> MainMenuResizeHandler(MainMenu) + void componentResized(ComponentEvent) } class fr.monkhanny.dorfromantik.controller.ButtonHoverAnimationListener { - int step - float scaleIncrement - boolean entering - JButton button - Color originalColor - Font originalFont - float currentScale + <> ButtonHoverAnimationListener(boolean,JButton,Color,Font) + void actionPerformed(ActionEvent) } class fr.monkhanny.dorfromantik.controller.MainMenuResizeController { - MainMenu mainMenu - MainMenuResizeHandler resizeHandler + <> MainMenuResizeController(MainMenu) - void addComponentListener() } java.awt.event.ActionListener <|.. fr.monkhanny.dorfromantik.controller.MainMenuButtonController java.awt.event.MouseAdapter <|-- fr.monkhanny.dorfromantik.controller.ButtonHoverListener java.awt.event.ActionListener <|.. fr.monkhanny.dorfromantik.controller.GameModeController java.awt.event.ComponentAdapter <|-- fr.monkhanny.dorfromantik.controller.MainMenuResizeHandler java.awt.event.ActionListener <|.. fr.monkhanny.dorfromantik.controller.ButtonHoverAnimationListener @enduml