Swing JMenu aufgeklappt oder nicht - Wie frage ich das ab?

Hein_nieH

Bekanntes Mitglied
Hallo,
ich möchte in meinem Menue die Menuefarbe highlighten, wenn ich mit der Maus im JMenuebar über den jeweiligen JMenue Eintrag gehe.
(Ich schreibe bewusst nicht JMenue Item, um eine Verwechslung mit JMenuItem auszuschließen).
Hierzu habe ich jedem JMenue-Eintrag einen MouseListener verpasst und die Methoden mouseEntered und mouseExited überschrieben.
Das ganze funktioniert auch wie geplant, solange die JMenu-Einträge nicht aufgeklappt sind.
Wenn die JMenue-Einträge ausgeklappt sind, also die zugehörigen Submenus bzw. JMenuItems sichtbar sind, dann kann ich nicht mit der gewünschten Farbe highlighten.

Hierzu meine Fragen:
Mit welcher Methode kann ich abfragen, ob ein JMenue ausgeklappt (expandiert) ist?
Muss ich da die JMenuBar befragen? Ich habe die JMenue- und JMenuebar-Objekte durchforstet aber keine schlüssige Methode gefunden.
Meiner Meinung nach müsste es so etwas wie eine isExpanded-Methode geben?

Mein zweites verbundenes Problem:
Ich möchte die JMenuItems ebenfalls highlighten wenn ich mit der Maus über das Item gehe.
Hierzu habe ich jedem JMenueItem einen MouseListener verpasst und die Methoden mouseEntered und mouseExited überschrieben.
Leider funktioniert das nicht, da hier wohl noch ein weiteres (mir unbekanntes) Event mitspielt, dass die MousListener-Methoden überlagert.
Hat jemand da eine Musterlösung? ich möchte das ohne UIManager hinbekommen.

Ich würde mich freuen, wenn mir jemand einen Tipp geben kann.

Gruss Hein_nieH
 

mihe7

Top Contributor
JMenu#isSelected() und JMenuItem#isArmed() - ich wage allerdings zu bezweifeln, dass Du das vernünftig hinbekommst, ohne über das LaF zu gehen.
 

Hein_nieH

Bekanntes Mitglied
Hallo Mihe 7,

danke für die Antwort.
Für Testzwecke habe ich jetzt doch den UIManager bemüht.
Alle Settings für die JMenu-Elemente (also "Menu.xxxx") funktionieren via UIManager.

Die Settings für die JMenuItem-Elemente (also "Menuitem.xxxx") funktionieren via UIManager nicht.
Habe ich da einen Denkfehler?
Ich nutze noch Java 7.

Gruss Hein_nieH


Java:
  UIManager.put("Menu.selectionBackground", Color.yellow); //funktioniert
  UIManager.put("Menu.selectionForeground", Color.blue);//funktioniert
  // JMenue unselected
  UIManager.put("Menu.background", Color.white);
  UIManager.put("Menu.foreground", Color.black);
 
  //JMenue selected
  UIManager.put("MenuItem.selectionBackground", Color.yellow); //funktioniert nicht
  UIManager.put("MenuItem.selectionForeground", Color.blue); //funktioniert nicht//funktioniert nicht
  UIManager.put("MenuItem.background", Color.white);//funktioniert nicht
  UIManager.put("MenuItem.foreground", Color.red);//funktioniert nicht
 

Hein_nieH

Bekanntes Mitglied
Fehler gefunden 😀
Für die JMenuItems habe ich den Konstruktor ( JMenuItem jmi = new JmenueItem() ) vor dem Aufruf des UIManagers aufgerufen.
Die Instanziierung der JMenuItems muss nach dem Aufruf des UIManagers erfolgen.

.. man kern nie aus ;)

Trotzdem noch eine Frage:
wie kann ich diesen UI-Managerbefehl UIManager.put("Menu.selectionBackground", Color.blue);
auf ein einzelnes JItem-Objekt anwenden? z.B. objJitem.setSelectionBackground() gibt es ja nicht.
es gibt nur objJitem.setBackground() :rolleyes:

Gruss Hein_nieH
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ExceptionOfExpectation JMenu, setMnemonic(Char k) bringt keine Wirkung AWT, Swing, JavaFX & SWT 8
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
Y Backgroundcolor JMenu AWT, Swing, JavaFX & SWT 2
D Merkwürdiges Verhalten vom JMenu AWT, Swing, JavaFX & SWT 4
X JMenu Menu-Bar ausrichtung ändern im Programm AWT, Swing, JavaFX & SWT 0
S AWT JTextFields durch Array im JMenu erzeugen? AWT, Swing, JavaFX & SWT 19
E JMenu erscheint nach RDP-Verbindung auf falschem Desktop AWT, Swing, JavaFX & SWT 1
S Swing JMenu löscht auf panel gezeichnetes AWT, Swing, JavaFX & SWT 3
llabusch Prüfen ob JMenu leer ist & löschen AWT, Swing, JavaFX & SWT 1
3 Swing Vertikaler Separator zwischen JMenu's AWT, Swing, JavaFX & SWT 2
S JMenu unter JPanel versteckt AWT, Swing, JavaFX & SWT 5
S jMenu wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
K Swing JMenu und ActionListener AWT, Swing, JavaFX & SWT 4
T JMenu reagiert auf F-Taste AWT, Swing, JavaFX & SWT 6
M JMenuBar, JMenu, JMenuItem wird nicht angezeigt AWT, Swing, JavaFX & SWT 16
Jagson Mit JMenu auf jDialog zurück? Wie? AWT, Swing, JavaFX & SWT 8
Kenan89 JMenu Fragen AWT, Swing, JavaFX & SWT 5
B Swing JMenu zwischen anderen Componenten AWT, Swing, JavaFX & SWT 4
R JMenu aus Ordnern AWT, Swing, JavaFX & SWT 4
P JMenu aus Dateistruktur AWT, Swing, JavaFX & SWT 2
I JMenu AWT, Swing, JavaFX & SWT 5
M Swing JMenu verdeckt durch Komponente (aber kein AWT und Swing mix!?) AWT, Swing, JavaFX & SWT 3
frankred Swing JMenu verschwindet nicht beim klicken ausserhalb des JMenu! AWT, Swing, JavaFX & SWT 4
F JMenu auf JPanel AWT, Swing, JavaFX & SWT 5
E Swing JMenu in GUI einbinden AWT, Swing, JavaFX & SWT 5
S Probleme mit JMenu und JMenuItem AWT, Swing, JavaFX & SWT 2
E JMenu übersetzen AWT, Swing, JavaFX & SWT 9
W JMenu wird vom JPanel ständig überzeichnet... Abhilfe? AWT, Swing, JavaFX & SWT 3
P JMenu-Erweiterung in externer Datei AWT, Swing, JavaFX & SWT 5
T Swing JMenu als Button behandeln AWT, Swing, JavaFX & SWT 4
T Swing jMenu AWT, Swing, JavaFX & SWT 6
R JMenu in JToolBar AWT, Swing, JavaFX & SWT 6
T Swing JMenu falsch positioniert AWT, Swing, JavaFX & SWT 2
M JMenu teilweise unter einer JComponent AWT, Swing, JavaFX & SWT 4
Developer_X Swing JMenu Bug gefunden AWT, Swing, JavaFX & SWT 5
D Swing JMenu wieder schließen lassen AWT, Swing, JavaFX & SWT 7
E Swing Einfache Frage zu JMenu AWT, Swing, JavaFX & SWT 4
hdi Welche Klasse + Listener für JMenu AWT, Swing, JavaFX & SWT 2
A JMenu Bug? AWT, Swing, JavaFX & SWT 12
J JMenu unterschiedliche Background einstellen AWT, Swing, JavaFX & SWT 5
C JMenu bzw. JButton mit URL versehen AWT, Swing, JavaFX & SWT 2
G ActionListener auf JMenu funktioniert nicht AWT, Swing, JavaFX & SWT 4
X JMenu AWT, Swing, JavaFX & SWT 2
D Abfrageproblem bei JMenu mit Icon AWT, Swing, JavaFX & SWT 2
Ernesto95 Programmabsturz beim Einbinden eines JMenu AWT, Swing, JavaFX & SWT 18
P jMenu ohne Menubar - Jigloo zeigts AWT, Swing, JavaFX & SWT 2
S JMenu und ActionListener per Schleife erzeugen AWT, Swing, JavaFX & SWT 3
G Scrollbares JMenu AWT, Swing, JavaFX & SWT 4
A Bei Klick auf disabled JMenuItem JMenu nicht schließen AWT, Swing, JavaFX & SWT 2
G JMenu problem mit der Breite von einer JCheckBox AWT, Swing, JavaFX & SWT 2
V JMenu und die Tabs von JTabbedFrame sind auf einmal schwarz AWT, Swing, JavaFX & SWT 3
H JMenu wird leider unterhalb! der CanvasFläche dargestellt AWT, Swing, JavaFX & SWT 5
X Swing: Bilder überlagern JMenu AWT, Swing, JavaFX & SWT 4
T ImageIcon als Seperator im Jmenu AWT, Swing, JavaFX & SWT 8
padde479 JMenu mnemonic AWT, Swing, JavaFX & SWT 3
N JMenu und JPanel AWT, Swing, JavaFX & SWT 5
P JMenu / JMenuItem durch Rekursion Icons entfernen AWT, Swing, JavaFX & SWT 4
B 1 JMenu in Mehrere JMenus AWT, Swing, JavaFX & SWT 2
G Canvas, JMenu, und BufferStrategy AWT, Swing, JavaFX & SWT 2
D JMenu -> Accelerator AWT, Swing, JavaFX & SWT 2
I JMenu(Item) und FocusListener AWT, Swing, JavaFX & SWT 3
T JMenu/JMenuItem Component auf der geaddet wurde AWT, Swing, JavaFX & SWT 16
G JMenu About ohne JMenuItem AWT, Swing, JavaFX & SWT 11
R JMenu + Farbe von Hintergrund AWT, Swing, JavaFX & SWT 2
M JMenu verschwindet unter ScrollPane AWT, Swing, JavaFX & SWT 3
D Schriftfarbe ändern (JFrame, JMenu etc) AWT, Swing, JavaFX & SWT 3
K JMenu wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
I JMenu wird nicht dargestellt AWT, Swing, JavaFX & SWT 12
H JMenu soll "offen bleiben" AWT, Swing, JavaFX & SWT 3
M JMenuBar - JMenu mit Tastenkombination aufrufen / anzeigen AWT, Swing, JavaFX & SWT 8
redztripe Haken in JMenu setzen? AWT, Swing, JavaFX & SWT 8
G Icon zu JMenu AWT, Swing, JavaFX & SWT 3
M JMenu auf JComponent? AWT, Swing, JavaFX & SWT 10
G JMenu - neuer Frame AWT, Swing, JavaFX & SWT 2
X Verschwinden des JMenu unterbinden AWT, Swing, JavaFX & SWT 3
R JMenu copy Focus-Problem AWT, Swing, JavaFX & SWT 2
E JTextArea überlagert JMenu AWT, Swing, JavaFX & SWT 2
D JMenu spinnt AWT, Swing, JavaFX & SWT 7
Z JMenu und JMenuItem: MouseOver-Farbe ändern AWT, Swing, JavaFX & SWT 9
B Alle jMenu und JMenuItem in einem Array AWT, Swing, JavaFX & SWT 4
R JMenu einträge werden überdeckt AWT, Swing, JavaFX & SWT 3
T JMenu erscheint nicht richtig AWT, Swing, JavaFX & SWT 6
G JMenu Info-Fenster ganz Rechts AWT, Swing, JavaFX & SWT 5
H JMenu zuklappen AWT, Swing, JavaFX & SWT 7
K JMenu Aktionen AWT, Swing, JavaFX & SWT 3
N JComboBox schon zum Teil aufgeklappt AWT, Swing, JavaFX & SWT 7
Juelin if Abfrage funktioniert nicht richtig AWT, Swing, JavaFX & SWT 10
MiMa Darstellung von FXML ateien nicht korrekt (SceneBuilder) AWT, Swing, JavaFX & SWT 2
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
M Mandelbrot mit BigDecimal erstellen und in der UI zeichnen, funktionierte nicht. AWT, Swing, JavaFX & SWT 1
H JavaFX PixelWriter.setColor setzt Farbe nicht AWT, Swing, JavaFX & SWT 2
M JavaFX Diagonale Linie nicht ausgegeben/angezeigt AWT, Swing, JavaFX & SWT 1
M JavaFX Mandelbrot-bild noch nicht optimiert AWT, Swing, JavaFX & SWT 7
Hatsi09 Javafx MediaPlayer spielt nicht immer AWT, Swing, JavaFX & SWT 3
P thread nimmt veränderte boolean nicht AWT, Swing, JavaFX & SWT 7
P Animation läuft nicht korrekt AWT, Swing, JavaFX & SWT 8
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben