JMenu und JMenuItem: MouseOver-Farbe ändern

Status
Nicht offen für weitere Antworten.

zerko

Aktives Mitglied
Morgen..

Beim überfahren eines MenuItem wird der Hintergrund hellblau (standart).
Ich habe versucht diese Funktion abzufangen, indem ein Mouselistener
mouseEntered die Hintergrundfarbe ändert.

Leider komme ich nicht an das JMenuItem...
Code:
public void mouseEntered ( MouseEvent MEvent ) {
    TYP meinVar = MEvent.getSource().toString();
    if ( meinVar = "Neu" ){
        System.out.println( "Menupunkt: Neu" );
    }
}

Vielleicht hat jemand eine bessere Lösung oder weiß wie ich den Text des JMenuItem über das MouseEvent abfragen kann??


Gruß
zerko
 

Sky

Top Contributor
Was Du machst ist eine Zuweisung:
Code:
if ( meinVar = "Neu" ){ 
        System.out.println( "Menupunkt: Neu" ); 
    } 
}

Und nun so geht ein Vergleich:
Code:
if ( "Neu".equals( meinVar ) ){ 
        System.out.println( "Menupunkt: Neu" ); 
    } 
}

Außerdem denke ich, dass man mit
Code:
MEvent.getSource().toString();
nicht an den Inhalt des MenuItems kommt.

Wenn Du 'nur' die Hintergrundfarbe der Selektion ändern willst, so guck Dir doch mal die Methode setUI an. Ich denke, dass man damit die Farben ganz gut ändern kann.

Wenn die Farben Applikationsweit geändert werden sollten, so guck Dir mal den UIManager an.
 

CelikBlek

Bekanntes Mitglied
Hi,
versuche es mal hiermit:

Code:
...
((JButton)e.getSource()).setBackground(Color.red);
...

Gruss
 
G

Guest

Gast
Danke für den Tip des CAST's :)

Meine Lösung...
Code:
public void mouseEntered ( MouseEvent MEvent ) { 
    String strItem = ( (JMenuItem) MEvent.getSource() ).getText();

    if ( strItem.equals("Neu") ){ 
        System.out.println( "Menupunkt: Neu" ); 
    } 
}

Es klappt jetzt wunderbar :]

Gruß
zerko
 
R

Roar

Gast
so kopmliziert ist das doch alles gar nicht :-(
du musst nur ein paar values in den UIDefaults ändern, das geht mit UIManager.setColor(Object key, Object value)
key ist dann etwas in der art "MenuItem.mouseOverForeground" (das ist jetz falsch, muste mal selber nachschauen in den UIDefaults, irgendwas mit MenuItem am anfang)
und value is dann halt dine farbe.
die listener geschichte is viel zu umständich
 

zerko

Aktives Mitglied
In diesem Fall hast du recht..
Man kann "meine Idee" auch garnet so einfach anwenden, weil beim mouseEntered die DefaultUI-Einstellungen noch aktiv sind und ich dort nicht den Hintergrund ohne weitere "repaint();" Anweisungen ändern kann.

Werde mal den Gedanken des UIManager weiter verfolgen, habe jedoch noch nie damit "gespielt" :]...
Bin für jeden Tip, Lösung oder was auch immer dankbar...


Gruß
zerko
 
R

Roar

Gast
ok, so soltlest du das gewünschte ergebnis hinkriegen:;
Code:
UIManager.setColor("MenuItem.selectionBackground", Color.BLACK);
UIManager.setColor("MenuItem.selectionForeground", Color.WHITE);

wenn du noch mehr farben außer den MenuItems ändern willst und du nur das standart Metal LookAndFeel benutzt wär ex whrscheinlich einfacherer du schreibst gleich ein eigenes Theme (siehe SwingSet um zu gucken)
 

zerko

Aktives Mitglied
Mir würde reichen zu Anfang die UI eines JMenuItem oder JButton zu verändern bzw. selbstdefinieren..
Ich habe mir einige Themes runtergeladen, jedoch beinhalten diese fast jede JComponent...

Hast su vielleicht einen Puntk, an dem ich ansetzen kann??
Oder ein Link zu einem Tutorial...

Gruß
zerko
 
R

Roar

Gast
ja, die Themes beziehen sich halt auf jede Komponente :-/
wenn du nur MenuItems und Buttons ändern willst dann sollte der weg über die UIDefaults völlig ausreichen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JMenuBar, JMenu, JMenuItem wird nicht angezeigt AWT, Swing, JavaFX & SWT 16
S Probleme mit JMenu und JMenuItem AWT, Swing, JavaFX & SWT 2
A Bei Klick auf disabled JMenuItem JMenu nicht schließen AWT, Swing, JavaFX & SWT 2
P JMenu / JMenuItem durch Rekursion Icons entfernen AWT, Swing, JavaFX & SWT 4
T JMenu/JMenuItem Component auf der geaddet wurde AWT, Swing, JavaFX & SWT 16
G JMenu About ohne JMenuItem AWT, Swing, JavaFX & SWT 11
B Alle jMenu und JMenuItem in einem Array AWT, Swing, JavaFX & SWT 4
ExceptionOfExpectation JMenu, setMnemonic(Char k) bringt keine Wirkung AWT, Swing, JavaFX & SWT 8
H Swing JMenu aufgeklappt oder nicht - Wie frage ich das ab? AWT, Swing, JavaFX & SWT 5
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
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
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
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
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
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
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
coolian ActionListener funktonirt nicht richtig auf JMenuItem AWT, Swing, JavaFX & SWT 4
J Swing JMenuItem blockiert JMenuBar AWT, Swing, JavaFX & SWT 2
F JMenuItem mit KeyStroke kombinieren AWT, Swing, JavaFX & SWT 1
javampir Look&Feel von JMenuItem AWT, Swing, JavaFX & SWT 3
K JMenuItem-Shortcut WENN Menüleiste verborgen ist AWT, Swing, JavaFX & SWT 4
M Accelerator zu JMenuItem des JPopupMenu einer JList AWT, Swing, JavaFX & SWT 2
J Swing JMenuItem-Event?? AWT, Swing, JavaFX & SWT 3
J Swing JMenuItem auf setEnabled(false) setzen? AWT, Swing, JavaFX & SWT 3
B JMenuItem Anzeigeproblem AWT, Swing, JavaFX & SWT 6
E Swing JTextField als JMenuItem AWT, Swing, JavaFX & SWT 3
G PopupMenu für ein JmenuItem AWT, Swing, JavaFX & SWT 3
N Swing Nimbus arbeitet nicht korrekt korrekt bei setEnabled() für JMenuItem AWT, Swing, JavaFX & SWT 2
F JMenuItem exit AWT, Swing, JavaFX & SWT 2
M Swing JMenuItem und der ActionListener AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben