JMenuBar und Hover-Effekt (rollOver)

Hallo,

mit einer JToolBar kann man erreichen, dass wenn man über einen Button mit der Maus fährt dieser einen Rahmen erhält.
Den gleichen Effekt hätte ich gerne mit JMenuBar. D.h. wenn man über einen Menüpunkt fährt soll dieser einen Rahmen erhalten.
Da JMenu und JButton doch beide von AbstractButton stammen sollte das doch eigentlich gehen. Ich bekomme es aber nicht hin.

Habt Ihr eine Idee oder ein Code-Beispiel mit JMenuBar.

Danke
Arni

Moin

Da JMenu und JButton doch beide von AbstractButton stammen sollte das doch
eigentlich gehen. Ich bekomme es aber nicht hin.

Es geht, aber nicht ganz so „vollautomatisch“ wie bei JToolbars und der Effekt mit dem Rand wird schwierig.

Man schreibt einen MouseListener (java.awt.event.MouseListener), implementiert insbesondere:

void mouseEntered(MouseEvent e)

void mouseExited(MouseEvent e)

Dann hängt man den Listener an alle JMenu’s, JMenuItems… dran die man haben möchte. Bei mouseEntered und mouseExited mit e.getComponent() abfragen von wo das Event gekommen ist um dann das Component entsprechend zu verändern (andere Schrift, andere Farben…). Zum Schluss ein repaint nicht vergessen.

cu