Ist es möglich, MenuItem
(oder zweite Menu
) auf der rechten Seite des Anwendungsfensters hinzuzufügen (wie in der Abbildung unten)?Menü auf der rechten Seite?
Antwort
Wenn Sie org.eclipse.ui.menus
Erweiterungspunkt verwenden, können Sie toolbar:org.eclipse.ui.trim.command2
als locationURI
(siehe this answer für eine Liste von anderen Standorten) setzen.
Aber das funktioniert nur, wenn Sie Eclipse RCP verwenden, oder? – Baz
@Baz Ja, nur in diesem Fall. –
Wenn etwas mit Eclipse RCP funktioniert, das auf SWT basiert, dann gibt es definitiv eine Möglichkeit, dies in SWT zu erreichen. Es wäre gut, sich einen Code anzusehen, um zu sehen, wie Eclipse RCP dies erreicht. –
Es scheint, dass es keinen offensichtlichen Weg gibt, dies zu tun. Sie können entweder die Ausrichtung von links nach rechts oder von rechts nach links angeben, aber nicht beide. Es gibt auch kein Füllelement, das wie bei Swing zwischen Menüpunkten platziert werden kann.
Eine Teilantwort auf Ihre Fragen ist, dass eine zweite Menüleiste nicht hinzugefügt werden kann. Referenz here.
Jede Shell kann optional eine einzelne Menüleiste mit der Methode setMenuBar (Menu menuBar) von Shell anzeigen. Es ist möglich, viele Menüleisten in einer Shell zu erstellen, aber nur jeweils eine in einer Shell.
Vielleicht können Sie versuchen, ein zweites Shell-Fenster erstellen, die den Ort schweben über, wo Sie Ihren zweiter (rechtsbündig) Menü. Sie müssen sicherstellen, dass diese Shell immer an dieser bestimmten Ecke des Fensters hängt. Sie könnten Probleme haben, wenn die Größe der Haupt-Shell reduziert wird, wodurch sich ein Menü überlappen könnte. Keine schöne Lösung. Vielleicht benutzen Sie stattdessen eine Werkzeugleiste mit einem Füllelement (SWT#SEPARATOR_FILL
)?
Nur aus Neugier: Haben Sie die RCP-Implementierung überprüft? – Baz
Nun, die RCP-Implementierung fügt sich über diesen Erweiterungspunkt in die Toolbar ein, was mit SWT (mit der Toolbar) leicht möglich ist, so dass ich nicht das Gefühl hatte, dass ich mich weiter mit der Implementierung befassen müsste. –
Sehr interessiert an einer Antwort für einfache SWT, kein RCP. – Baz