3.10.1. Menu Bar

Eine Menu Bar ist eine Menüleiste für ein Frame. Folgende Abbildung zeigt ein Frame mit einer Menu Bar, welche ein File und ein Edit Menü enthält:

Abbildung 18. Menu Bar Beispiel

Menu Bar Beispiel

Eine Menu Bar erhält man für ein Frame mit Hilfe der folgende Methode:

    IMenuBar createMenuBar();

Falls noch keine Menu Bar existiert, wird eine neue erzeugt und zurückgegeben. Andernfalls wir die zuletzt erzeugte (welche noch nicht disposed wurde) zurückgegeben. Es folgt eine kurze Beschreibung der Menu Bar Methoden:

Menu Bar Model

Mit Hilfe der folgenden Methoden kann das Model gesetzt und ausgelesen werden. Siehe auch Menü und Item Models.

    void setModel(IMenuBarModel model);

    IMenuBarModel getModel();
Hinzufügen von Menüs

Mit Hilfe der folgenden Methoden kann ein Main Menu hinzugefügt werden:

    IMainMenu addMenu(IMainMenuDescriptor descriptor);

    IMainMenu addMenu(int index, IMainMenuDescriptor descriptor);

    IMainMenu addMenu(String name);

    IMainMenu addMenu(String name, char mnemonic);

    IMainMenu addMenu(int index, String name);

Die ersten beiden Methoden verwenden einen Descriptor (BluePrint) zum Hinzufügen. Bei den anderen Methoden handelt es sich um Convenience Methoden, mit welchen der Menu Name und Mnemonic direkt angeben werden kann. Wird ein index angegeben, wird das Menü an der entsprechenden Stelle eingefügt, ansonsten am Ende.

Das folgende Beispiel soll die Verwendung verdeutlichen:

  1      final IMenuBar menuBar = frame.createMenuBar();
  2  
  3      final IMainMenu fileMenu = menuBar.addMenu(BPF.mainMenu().setText("File"));
  4      final IMainMenu editMenu = menuBar.addMenu(BPF.mainMenu().setText("Edit"));

Mit Hilfe der Convenience Methoden kann man das auch kürzer schreiben:

  1      final IMenuBar menuBar = frame.createMenuBar();
  2  
  3      final IMainMenu fileMenu = menuBar.addMenu("File");
  4      final IMainMenu editMenu = menuBar.addMenu("Edit");

Folgender Aufruf fügt ein Menü zwischen File und Edit ein:

  1      final IMainMenu searchMenu = menuBar.addMenu(1, "Search");

Die folgende Abbildung zeigt das Gesamtergebnis:

Abbildung 19. Menu Bar Beispiel 2

Menu Bar Beispiel 2

Entfernen von Menüs

Ein Menü kann entweder mit Hilfe der folgenden Methoden entfernt werden:

    boolean remove(IMenu menu);

    void remove(final int index);

    void removeAll();

oder indem auf dem Menü welches entfernt werden soll, die dispose() Methode aufgerufen wird.

Der Aufruf:

    menuBar.remove(searchMenu);

hat also den gleichen Effekt wie:

    searchMenu.dispose();
Zugriff auf die Menüs einer Menu Bar

Mit Hilfe der folgenden Methode erhält man eine Liste der vorhandenen Menüs.

    List<IMenu> getMenus();

Dabei handelt es sich um eine nicht modifizierbare Kopie der derzeit vorhandenen Menüs.


Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation