Class Theme
Provides centralized menu bar factory for the main application window with keyboard shortcuts, mnemonics, and accessibility support. The menu structure organizes assessment pages into logical categories:
- Navigate Menu: Primary navigation menu containing:
- Home: Returns to homepage (Ctrl+Alt+H)
- Tactile Submenu: Braille and Abacus skills pages (alphabetical)
- Technology Submenu: Device-specific pages (BrailleNote, BrailleSense, iOS, ScreenReader, etc.)
- Communication Submenu: Contact Log and Session Notes
- Other Skills Submenu: CVI, Digital Literacy, Keyboarding, Observations, Instructional Materials
Accessibility Features:
- All menu items include accessible names and descriptions
- Keyboard shortcuts use Ctrl+Alt+Letter combinations to avoid conflicts
- Mnemonics provided for primary menu items (Alt+H for Home, etc.)
- Color-coded icons generated programmatically via
makeIcon(Color, int)
Icon Generation: Menu items display small colored square icons for
visual differentiation. Icons are generated at runtime as 12×12px BufferedImage
instances with anti-aliased rendering for smooth appearance across themes.
Menu Structure Rationale:
- Tactile skills (Braille, Abacus) grouped separately from technology devices
- Technology submenu organized by device type (notetakers, mobile OS, desktop screen readers)
- Communication tools (Contact Log, Session Notes) kept together for workflow consistency
- Remaining assessment pages grouped under "Other Skills" for flexibility
Navigation Integration: All menu items invoke the main navigation logic in Main
to switch the main content panel. Page identifiers are lowercase strings matching page class names
(e.g., "braille", "abacus", "braillenote").
Theme Management: Currently limited to menu bar construction. Future expansion may include FlatLaf theme switching, custom color schemes, or icon set selection.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic JMenuBarBuild and return the application menu bar used in the main frame.
-
Method Details
-
createMenuBar
Build and return the application menu bar used in the main frame.- Returns:
- a
JMenuBarinstance containing the application's menus
-