Diese Klasse realisiert die Menuezeile im Hauptfenster. Mehr ...
Abgeleitet von javax::swing::JMenuBar.
Öffentliche Methoden | |
MenuBar (Hauptfenster parent, ListenerMenu listener) | |
Konstruktor der Klasse MenuBar Erzeugt die zwei Hauptpunkte "Konfiguration" und "Hilfe" sowie die weiteren Untermenues. | |
Statische öffentliche Attribute | |
static final String | CMD_TOGGLENAVIGATOR = "toggleNavigator" |
ActionCommand-String fuer Navigationsfenster ein-/ausblenden. | |
static final String | CMD_SHOWLEVELEDITOR = "showLevelEditor" |
ActionCommand-String zum Anzeigen des LevelEditors. | |
static final String | CMD_SHOWICONS = "showIcons" |
ActionCommand-String zum Anzeigen der Spielfigurendialogs. | |
static final String | CMD_SHOWHELP = "showHelp" |
ActionCommand-String zum Anzeigen des Spielbeschreibung. | |
static final String | CMD_CLOSEWINDOW = "closeWindow" |
ActionCommand-String zum Schliessen von Dialogfenstern. | |
static final String | CMD_THEMEPREFIX = "theme_" |
ActionCommand-Prefix-String zum Wechseln des Icon-Themas. | |
Private Methoden | |
JMenuItem | createMenuItemLookAndFeel () |
Hilfsmethode zum Erzeugen des Menuepunkts "Look and Feel". | |
JMenuItem | createMenuThemes () |
Hilfsmethode zum Erzeugen des Menuepunkts "Theme". | |
JMenuItem | createMenuLevels () |
Hilfsmethode zum Erzeugen des Menuepunkts "Level laden". | |
JMenuItem | createMenuItem (String title, String command) |
Erzeugt ein JMenuItem . | |
JRadioButtonMenuItem | createRadioMenuItem (String title, String command, ButtonGroup group, boolean selected) |
Erzeugt ein JRadioButtonMenuItem . | |
JCheckBoxMenuItem | createCheckBoxMenuItem (String title, String command, boolean selected) |
Erzeugt ein JCheckBoxMenuItem . | |
Private Attribute | |
Hauptfenster | parent |
Verbindung zum Hauptfenster, wird benoetigt um das Spielfeld neu zu zeichnen und die Levelnamen zu ermitteln. | |
ListenerMenu | listener |
Verbindung zum Event-Handler, wird lediglich zum Setzen der Listener fuer die einzelnen Menuepunkte benoetigt. | |
Statische private Attribute | |
static final long | serialVersionUID = 1634318767797551066L |
Interne Versionsnummer - Serialisieren fuer Applets, Klassentausch. |
Diese Klasse realisiert die Menuezeile im Hauptfenster.
Es werden die zwei Hauptmenuepunkte erzeugt und deren Untereintraege Die meisten Menueeintruege werden dynamisch erzeugt. Die Klasse ist abgeleitet von JMenuBar
.
Definiert in Zeile 25 der Datei MenuBar.java.
dionarap::MenuBar::MenuBar | ( | Hauptfenster | parent, | |
ListenerMenu | listener | |||
) | [inline] |
Konstruktor der Klasse MenuBar
Erzeugt die zwei Hauptpunkte "Konfiguration" und "Hilfe" sowie die weiteren Untermenues.
parent | Elternfenster, welches das Menue beherbergt, vom Typ Hauptfenster | |
listener | Menuelistener, der auf die Menue-Ereignisse reagiert, vom Typ ListenerMenu |
Definiert in Zeile 86 der Datei MenuBar.java.
00087 { 00088 this.parent = parent; 00089 this.listener = listener; 00090 00091 // Menue: Konfiguration 00092 JMenu menuConfiguration = new JMenu("Konfigurieren"); 00093 menuConfiguration.setMnemonic('k'); 00094 menuConfiguration.add(this.createMenuItemLookAndFeel()); 00095 menuConfiguration.add(this.createMenuThemes()); 00096 menuConfiguration.add(this.createCheckBoxMenuItem("Navigator", MenuBar.CMD_TOGGLENAVIGATOR, true)); 00097 this.add(menuConfiguration); 00098 00099 // Menue: Level 00100 JMenu menuLevel = new JMenu("Level"); 00101 menuLevel.setMnemonic('l'); 00102 menuLevel.add(this.createMenuItem("Level erstellen", MenuBar.CMD_SHOWLEVELEDITOR) ); 00103 menuLevel.add(this.createMenuLevels()); 00104 this.add(menuLevel); 00105 00106 00107 // Menue: Hilfe 00108 JMenu menuHelp = new JMenu("Hilfe"); 00109 menuHelp.setMnemonic('h'); 00110 menuHelp.add(this.createMenuItem("Spielfiguren anzeigen", MenuBar.CMD_SHOWICONS)); 00111 menuHelp.add(this.createMenuItem("Spielbeschreibung", MenuBar.CMD_SHOWHELP)); 00112 this.add(menuHelp); 00113 }
JCheckBoxMenuItem dionarap::MenuBar::createCheckBoxMenuItem | ( | String | title, | |
String | command, | |||
boolean | selected | |||
) | [inline, private] |
Erzeugt ein JCheckBoxMenuItem
.
Als ActionListener wird der der dem Konstruktor übergebene Listener vom Typ ListenerMenu
eingestellt.
title | Im Menue erscheinender Text des Menuepunkts | |
command | Das geworfene ActionCommand, wenn der Menuepunkt ausgewaehlt wird | |
selected | Wahrheitswert, welcher true ist, wenn der Menuepunkt selektiert ist, ansonsten false |
JCheckBoxMenuItem
Definiert in Zeile 253 der Datei MenuBar.java.
00254 { 00255 JCheckBoxMenuItem menuitem = new JCheckBoxMenuItem(title); 00256 menuitem.setActionCommand(command); 00257 menuitem.addActionListener(this.listener); 00258 menuitem.setState(selected); 00259 return menuitem; 00260 }
JMenuItem dionarap::MenuBar::createMenuItem | ( | String | title, | |
String | command | |||
) | [inline, private] |
Erzeugt ein JMenuItem
.
Als ActionListener wird der der dem Konstruktor uebergebene Listener vom Typ ListenerMenu
eingestellt.
title | Im Menue erscheinender Text des Menuepunkts | |
command | Das geworfene ActionCommand, wenn der Menuepunkt ausgewaehlt wird |
JMenuItem
Definiert in Zeile 212 der Datei MenuBar.java.
00213 { 00214 JMenuItem menuitem = new JMenuItem(title); 00215 menuitem.addActionListener(this.listener); 00216 menuitem.setActionCommand(command); 00217 return menuitem; 00218 }
JMenuItem dionarap::MenuBar::createMenuItemLookAndFeel | ( | ) | [inline, private] |
Hilfsmethode zum Erzeugen des Menuepunkts "Look and Feel".
Dieses JMenuItem
selbst hat (dynamisch generierte) Untermenuepunkte vom Typ JRadioButtomMenuItem
. Die Menuepunkte werden mit Hilfe der Klasse UIManager
generiert. Sorgt beim Erstellen dafuer, dass das eingestellte "Look and Feel" selektiert ist.
JMenuItem
"Look and Feel" mit Untermenuepunkten Definiert in Zeile 126 der Datei MenuBar.java.
00127 { 00128 LookAndFeelInfo[] lnf = UIManager.getInstalledLookAndFeels(); 00129 00130 JMenuItem menuItemLookAndFeel = new JMenu("Look and Feel"); 00131 00132 ButtonGroup groupLookAndFeel = new ButtonGroup(); 00133 String lookandfeel = UIManager.getLookAndFeel().getName(); 00134 for(int i = 0; i < lnf.length; i++) { 00135 menuItemLookAndFeel.add(this.createRadioMenuItem(lnf[i].getName(), 00136 lnf[i].getClassName(), 00137 groupLookAndFeel, 00138 lookandfeel.equals(lnf[i].getName()))); 00139 } 00140 00141 return menuItemLookAndFeel; 00142 }
JMenuItem dionarap::MenuBar::createMenuLevels | ( | ) | [inline, private] |
Hilfsmethode zum Erzeugen des Menuepunkts "Level laden".
Dieses JMenuItem
selbst hat (dynamisch generierte) Untermenüpunkte vom Typ JRadioButtomMenuItem
. Die Menuepunkte werden mit Hilfe von getLevels
des Hauptfensters generiert. Sorgt beim Erstellen dafuer, dass das ausgewaehlte Level selektiert ist.
Definiert in Zeile 184 der Datei MenuBar.java.
00185 { 00186 String[] levels = this.parent.getLevels(); 00187 String currentLevel = this.parent.getCurrentLevel(); 00188 00189 JMenuItem menuItemLevels = new JMenu("Level laden"); 00190 00191 ButtonGroup groupLevels = new ButtonGroup(); 00192 for (int i = 0; i < levels.length; i++) { 00193 menuItemLevels.add(this.createRadioMenuItem(levels[i], 00194 Hauptfenster.levelPrefix + levels[i], 00195 groupLevels, 00196 currentLevel.equals(levels[i]))); 00197 } 00198 00199 return menuItemLevels; 00200 }
JMenuItem dionarap::MenuBar::createMenuThemes | ( | ) | [inline, private] |
Hilfsmethode zum Erzeugen des Menuepunkts "Theme".
Dieses JMenuItem
selbst hat (dynamisch generierte) Untermenuepunkte vom Typ JRadioButtomMenuItem
. Die Menuepunkte werden mit Hilfe der Klasse Artwork generiert. Sorgt beim Erstellen dafuer, dass das eingestellte Thema selektiert ist.
JMenuItem
"Theme" mit Untermenuepunkten Definiert in Zeile 155 der Datei MenuBar.java.
00156 { 00157 String[] themes = Artwork.getTheme().getThemes(); 00158 String currenttheme = Artwork.getTheme().getCurrentTheme(); 00159 00160 JMenuItem menuItemThemes = new JMenu("Thema"); 00161 00162 ButtonGroup groupThemes = new ButtonGroup(); 00163 for (int i = 0; i < themes.length; i++) { 00164 menuItemThemes.add(this.createRadioMenuItem(themes[i], 00165 MenuBar.CMD_THEMEPREFIX + themes[i], 00166 groupThemes, 00167 themes[i].equals(currenttheme))); 00168 } 00169 00170 return menuItemThemes; 00171 }
JRadioButtonMenuItem dionarap::MenuBar::createRadioMenuItem | ( | String | title, | |
String | command, | |||
ButtonGroup | group, | |||
boolean | selected | |||
) | [inline, private] |
Erzeugt ein JRadioButtonMenuItem
.
Als ActionListener wird der der dem Konstruktor uebergebene Listener vom Typ ListenerMenu
eingestellt.
title | Im Menue erscheinender Text des Menuepunkts | |
command | Das geworfene ActionCommand, wenn der Menuepunkt ausgewaehlt wird | |
group | Die ButtonGroup , zu der der Menuepunkt gehoert | |
selected | Wahrheitswert, welcher true ist, wenn der Menuepunkt selektiert ist, ansonsten false |
JRadioButtonMenuItem
Definiert in Zeile 232 der Datei MenuBar.java.
00233 { 00234 JRadioButtonMenuItem menuitem = new JRadioButtonMenuItem(title); 00235 menuitem.setActionCommand(command); 00236 menuitem.setSelected(selected); 00237 menuitem.addActionListener(this.listener); 00238 group.add(menuitem); 00239 return menuitem; 00240 }
final String dionarap::MenuBar::CMD_CLOSEWINDOW = "closeWindow" [static] |
ActionCommand-String zum Schliessen von Dialogfenstern.
Definiert in Zeile 54 der Datei MenuBar.java.
final String dionarap::MenuBar::CMD_SHOWHELP = "showHelp" [static] |
ActionCommand-String zum Anzeigen des Spielbeschreibung.
Definiert in Zeile 49 der Datei MenuBar.java.
final String dionarap::MenuBar::CMD_SHOWICONS = "showIcons" [static] |
ActionCommand-String zum Anzeigen der Spielfigurendialogs.
Definiert in Zeile 44 der Datei MenuBar.java.
final String dionarap::MenuBar::CMD_SHOWLEVELEDITOR = "showLevelEditor" [static] |
ActionCommand-String zum Anzeigen des LevelEditors.
Definiert in Zeile 39 der Datei MenuBar.java.
final String dionarap::MenuBar::CMD_THEMEPREFIX = "theme_" [static] |
ActionCommand-Prefix-String zum Wechseln des Icon-Themas.
Definiert in Zeile 59 der Datei MenuBar.java.
final String dionarap::MenuBar::CMD_TOGGLENAVIGATOR = "toggleNavigator" [static] |
ActionCommand-String fuer Navigationsfenster ein-/ausblenden.
Definiert in Zeile 34 der Datei MenuBar.java.
ListenerMenu dionarap::MenuBar::listener [private] |
Verbindung zum Event-Handler, wird lediglich zum Setzen der Listener fuer die einzelnen Menuepunkte benoetigt.
Definiert in Zeile 75 der Datei MenuBar.java.
Hauptfenster dionarap::MenuBar::parent [private] |
Verbindung zum Hauptfenster, wird benoetigt um das Spielfeld neu zu zeichnen und die Levelnamen zu ermitteln.
Definiert in Zeile 67 der Datei MenuBar.java.
final long dionarap::MenuBar::serialVersionUID = 1634318767797551066L [static, private] |
Interne Versionsnummer - Serialisieren fuer Applets, Klassentausch.
Definiert in Zeile 29 der Datei MenuBar.java.