2013-10-05 21 views
3

我正在嘗試更改菜單項的高亮/焦點/懸停顏色。如何更改MenuItem焦點/懸停顏色

我試圖改變藍色背景,以另一種顏色,但似乎沒有任何工作?

我已經嘗試了幾件事情,沒有從運氣:How do you set the style for a JavaFX ContextMenu using css?How to style menu button and menu items

.context-menu:focused { 
    -fx-background-color:white; 
    -fx-focus-color:white; 
} 

.menu-item:focused { 
    -fx-background-color:white; 
    -fx-focus-color:white; 
} 

.menu:focused { 
    -fx-background-color:white; 
    -fx-focus-color:white; 
} 

和許多其他變化......

也有一些示例代碼目前正使用的菜單項的

// Menu 
final ContextMenu contextMenu = new ContextMenu(); 

並構造MenuItem:

maximizeMenuItem = new MenuItem(Config.getString("Maximize")); 
maximizeMenuItem.setOnAction(new EventHandler<ActionEvent>() { /* do stuff */ } 

我可以嘗試:

contextMenu.setStyle("-fx-focus-color:white"); 

maximizeMenuItem.setStyle("-fx-focus-color:white"); 

,但我似乎無法找出哪些-fx- CSS標籤控件,藍色背景...

如果可能的,請張貼FXML解決方案以及聯機代碼解決方案。

+0

如果您在小提琴中發佈代碼會更好。 –

+0

@井R3Naiz0已更新 – SnakeDoc

+0

您是否嘗試將所有'-fx-background-color:#006699;'更改爲另一種顏色? –

回答

6

好的,有點尷尬。我的圖層混亂了,我的樣式表沒有像我想的那樣被應用。

所以聚焦時改變menu-item的背景顏色正確的做法是:

.menu-item:focused { 
    -fx-background-color: #969A9F; 
} 

一旦我發現和整理出我的CSS分層的問題,現在它工作像預期的那樣得到它: