2016-05-05 5 views
1

enter image description hereToolbar Komponenten codenameone

Es gibt drei Komponenten in Symbolleiste im Komponenteninspektor (Bild oben), aber wenn ich die menubutton bekommen wollen, kann ich es nicht.

//it gives label, title 
System.out.println("z " + f.getToolbar().getComponentAt(0)); 

//it gives button, title command 
System.out.println("zz" + f.getToolbar().getComponentAt(1)); 

//it gives no of component = 2 
System.out.println("zzz" + f.getToolbar().getComponentCount()); 

Warum kann ich nicht MenüButton Befehl der Symbolleiste? ps Ich hatte das Befehlsverhalten zur Seite gestellt.

Antwort

0

Die Menütaste ist kein Befehl und sollte nicht direkt manipuliert werden. Es hat ein einzigartiges Verhalten, das absichtlich abstrahiert wird. Die Verwendung von getComponent(int) ist ein fragiler Ansatz, da er sich auf ein bestimmtes Verhalten stützt, das sich plötzlich und ohne Vorwarnung ändern kann.

Sie müssen über den Anwendungsfall nachdenken, an dem Sie interessiert sind, und weiterverfolgen.

ZB:

  • Wenn Sie das Menüsymbol steuern möchten Sie sideMenuImage & sideMenuPressImage
  • so über tun können, wenn Sie die Menü-Taste, um Stil möchten, können Sie das verwenden MenuButton UIID
+0

Ich sehe SideMenuIMage in der Theme-Konstante (GUI) nicht. Muss ich es manuell hinzufügen? –

+0

Ja, ich denke, es sollte dort sein, aber wenn es nicht sicher ist, meine Großschreibung zu verwenden, da es Groß- und Kleinschreibung ist. –