4

メニュー項目のハイライト/フォーカス/ホバーの色を変更しようとしています。

青色の背景を別の色に変更しようとしていますが、何もうまくいかないようです。

css を使用して JavaFX ContextMenuのスタイルを設定するにはどうすればよいですか? メニューボタンと メニュー項目のスタイルを設定する方法

.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ソリューションとインライン コード ソリューションを投稿してください。

4

1 に答える 1

6

わかりました、少し恥ずかしいです。思ったようにスタイルシートが適用されていないところまでレイヤーがめちゃくちゃになってしまいました。

menu-itemしたがって、フォーカスされたときに の背景色を変更する正しい方法は次のとおりです。

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

CSSレイヤーの問題を見つけて整理すると、結果として期待どおりに機能するようになりました。

于 2013-10-11T16:56:53.240 に答える