2016-07-29 29 views
1

Also habe ich ein kleines Problem, das ist ziemlich komisch. Ich habe meine Menü- und Menüleiste meiner undekorierten Anwendung gestaltet. Wenn ich einen Menüeintrag im Kontextmenü übergebe, ändert das Menü seine Hintergrundfarbe in die Standardansicht von Windows.Java FX Menu Hintergrund Farbfehler?

Bilder des Szenarios (in dem zweiten Bild, ich schwebe den Menüpunkt 'Model'): Here I am hovering a menu which is doing its job.

If I hover one of my menu items, the menu it's background jumps to blue.

If I am not standing on the menu item with my mouse, the menu item will also have a blue background.

Hat jemand weiß, wie man die blauen Hintergründe zu beheben ? Ich möchte, dass das Menü meinen Hover-Hintergrund wie im ersten Bild hat. Und der Menüpunkt sollte auch einen eigenen Hintergrund haben und nicht zu blau springen wenn ich nicht mit meiner Maus drauf bin.

CSS:

.menu-bar { 
    -fx-background-color: transparent; 
} 
.menu { 
    -fx-label-padding: 3px; 
} 
.menu .label, .menu-item .label { 
    -fx-text-fill: #eee; 
} 
.menu:hover, .menu:focused, .menu:pressed { 
    -fx-background-color: rgba(0, 0, 0, 0.2); 
} 
.menu-item:hover { 
    -fx-background-color: rgba(0, 0, 0, 0.4); 
} 
.context-menu { 
    -fx-background-color: rgba(0, 0, 0, 0.3); 
} 

Vielen Dank im Voraus.

Antwort

3

diese

zu Ihrem CSS hinzufügen
.menu-item:focused { 
    -fx-background-color : <preferred color>; 
} 
+0

Ich weiß nicht, wie ich das vermisst habe, danke. – Displee

1

Sie hinzufügen redundanten Schichten von Eigenschaften zu .menu und menu-item. Versuchen, nur auf die betroffenen Eigenschaften aufzupassen. Zum Beispiel in Ihrem Fall menu muss Ihr Farbmuster folgen, wenn entweder hovered oder in showing Ereignis. So fügen

.menu:hover, .menu:showing{ 
    -fx-background-color: <preferred backgound>; 
} 

Ähnlich nur focused Eigenschaft menu-item, hinzugefügt werden, da der Rest teilt sich die context-menu backgound

.menu-item:focused{ 
    -fx-background-color: <preferred background>; 
} 

Blick auf die Momentaufnahme der einfachen Demo:

enter image description here