Ein Sub Menu ist ein Untermenü eines
                    IMenu
                    und ist somit
                    IMenu
                    und
                    IMenuItem
                    zugleich. Die Schnittstelle ISubMenu hat
                    neben den von
                    IMenu,
                    IMenuItem,
                    IItem,
                    IWidget
                    und ISubMenu
                    geerbten keine weiteren
                    Methoden.
                  
         
                         Ein Sub Menu kann (u.A.) mit Hilfe eines
                         ISubMenuBluePrint erzeugt werden. Die
                         Klasse BPF liefert die folgenden Methoden
                         für die Erzeugung eines BluePrint:
                       
            
    public static ISubMenuBluePrint subMenu() {...}
    
    public static ISubMenuBluePrint subMenu(final String text) {...}Die zweite Methode ermöglicht das gleichzeitige setzen des Label Textes auf dem BluePrint bei der Erzeugung.
                         Ein ISubMenuBluePrint hat die folgenden
                         Methoden zur Konfiguration:
                       
            
    ISubMenuBluePrint setText(String text);
    ISubMenuBluePrint setToolTipText(String toolTipText);
    ISubMenuBluePrint setIcon(IImageConstant icon);
    ISubMenuBluePrint setMnemonic(Character mnemonic);
                         Mit den ersten drei Methoden kann, analog zu einen
                         IItem
                         der Label Text, das Tooltip und das Icon gesetzt werden. Mit
                         Hilfe der Methode setMnemonic() lässt sich
                         das Mnemonic (vgl.
                         IMenuItem)
                         festgelegt.
                       
            
Das folgende Beispiel zeigt die Verwendung von Sub Menus:
  1      final ISubMenu subMenu1 = menu.addItem(BPF.subMenu("Submenu 1"));
  2      final ISubMenu subMenu2 = menu.addItem(BPF.subMenu("Submenu 2"));
  3  
  4      subMenu1.addItem(BPF.menuItem("Item1"));
  5      subMenu1.addItem(BPF.menuItem("Item2"));
  6      final ISubMenu subSubMenu1 = subMenu1.addItem(BPF.subMenu("Subsubmenu1"));
  7  
  8      final ISubMenu subSubMenu2 = subMenu1.addItem(BPF.subMenu("Subsubmenu2"));
  9      subSubMenu2.addItem(BPF.menuItem("Item1"));
 10      subSubMenu2.addItem(BPF.menuItem("Item2"));Die folgende Abbildung zeigt das Ergebnis: