Class Main

java.lang.Object
com.studentgui.app.Main

public class Main extends Object
Application entry point and top-level UI wiring for the Student Skills Progressions application. Builds the main frame, menu and registers per-page panels under a CardLayout.
  • Method Details

    • addDateChangeListener

      public static void addDateChangeListener(DateChangeListener l)
      Register a listener to be notified when the application date is changed via the top bar.
      Parameters:
      l - listener to register (ignored when null)
    • removeDateChangeListener

      Remove a previously registered date change listener.
      Parameters:
      l - listener to remove (ignored when null)
    • clearDateChangeListeners

      public static void clearDateChangeListeners()
      Clear all registered date change listeners.
    • addStudentChangeListener

      Register a listener to be notified when the selected student is changed.
      Parameters:
      l - listener to register (ignored when null)
    • removeStudentChangeListener

      Remove a previously registered student change listener.
      Parameters:
      l - listener to remove (ignored when null)
    • clearStudentChangeListeners

      public static void clearStudentChangeListeners()
      Clear all registered student change listeners.
    • addSettingsChangeListener

      Register a listener to be notified when application settings change. Implementations should read values from Settings when SettingsChangeListener.settingsChanged() is invoked.
      Parameters:
      l - listener to register (ignored when null)
    • removeSettingsChangeListener

      Remove a previously registered settings change listener.
      Parameters:
      l - listener to remove (ignored when null)
    • clearSettingsChangeListeners

      public static void clearSettingsChangeListeners()
      Clear all registered settings change listeners.
    • notifySettingsChanged

      public static void notifySettingsChanged()
      Notify all registered settings listeners that application settings have been changed. This is typically invoked after persisting preferences through Settings.
    • main

      public static void main(String[] args)
      Application entry point. Initializes helpers, database, and launches the Swing UI on the EDT.
      Parameters:
      args - command-line arguments (unused)
    • setTheme

      public static void setTheme(String theme)
      Change application theme at runtime. Supported values: "light", "dark", "darcula". This method updates the installed Look and Feel and refreshes the main frame.
      Parameters:
      theme - human-friendly theme name or fully-qualified LookAndFeel class name
    • showPage

      public static void showPage(String name, JComponent comp)
      Show a page previously registered with the CardLayout. If a component is provided and not yet added it will be registered under the given name.
      Parameters:
      name - registration name for the page
      comp - optional component instance to add (may be null)