TextMenu

Das TextMenu ist eine einfache Liste von Texteinträgen mit Scroll-Funktion. Die Menüeinträge werden linksbündig untereinander in dem Zeichenbereich des Menüs dargestellt. Ausmaße und Position des Textmenüs können im Konstruktor der Klasse TextMenu vorgegeben werden. Enthält das Menü mehr Einträge als gleichzeitig darstellbar sind, symbolisieren Pfeile am oberen und unteren Rand, dass die Liste gescrollt werden kann. Der momentan selektierte Eintrag wird invertiert dargestellt.

Das folgende Quelltextbeispiel unterscheidet sich kaum von dem in Abschnitt MenuBar, lediglich die MenuBar wurden gegen ein TextMenu ausgetauscht sowie einige Parameter im Konstruktor geändert. Bild 3 zeigt einen Screenshot des VoleTextMenuExample.

Bild 3: Das VoleTextMenuExample

1    import jcontrol.ui.vole.Frame;
2    import jcontrol.ui.vole.menu.TextMenu;
3    
4    /**
5     * <p>This example demonstrates how to use the
6     * component TextMenu within the GUI framework
7     * JControl/Vole.</p>
8     *
9     * <p>(C) DOMOLOGIC Home Automation GmbH 2003-2005</p>
10     */
11    public class VoleTextMenuExample extends Frame {
12     
13      /**
14       * Create and show a TextMenu.
15       */
16      public VoleTextMenuExample() {
17    
18        // create the MenuBar
19        TextMenu menu = new TextMenu(0, 0, 50, 64);
20       
21        // add some menu items
22        menu.addMenuItem("Red");
23        menu.addMenuItem("Green");
24        menu.addMenuItem("White");
25        menu.addMenuItem("Blue");
26        menu.addMenuItem("Cyan");
27        menu.addMenuItem("Black");
28        menu.addMenuItem("Gray");
29        menu.addMenuItem("Orange");
30        menu.addMenuItem("Lime");
31        menu.addMenuItem("Yellow");
32        menu.addMenuItem("Brown");
33       
34        // add the menu bar to the Frame
35        this.setMenu(menu);
36       
37        // disable a menu item
38        menu.enableMenuItem("White", false);
39    
40        // show the frame   
41        setVisible(true);   
42      }
43    
44      /**
45       * Instantiate the VoleMenuBarExample
46       */
47      public static void main(String[] args) {
48        new VoleTextMenuExample();   
49      }
50    }
Listing 2: VoleTextMenuExample.java