1

CSS を介して Javafx のメニューバーとメニュー項目の背景色を変更しようとしています。メニューバーとメニューの色を変更することはできましたが、メニュー項目に奇妙な問題があります。背景色を変更した後、常に上下に白い境界線が表示されます。これは私のCSSコードです:

.menu-bar {
  -fx-background-color: green;
}

.menu-bar .menu-button:hover, .menu-bar .menu-button:focused, .menu-bar .menu-button:showing {
    -fx-background: -fx-accent;
    -fx-background-color: darkgreen;
    -fx-text-fill: -fx-selection-bar-text;
}

.menu-item {
  -fx-background-color: darkgreen;
}

エラーの画像は次のとおりです: 画像(申し訳ありませんが、これが私の最初の投稿であり、評判が少なすぎるため、画像を投稿できません...)

これらのコード行を追加すると、下部の境界線が大きくなる (!) ことがわかりました。

.menu-item {
  -fx-background-color: darkgreen;
  -fx-padding: 0em 0em 0em 0em;
}

どうやらそれはパディングと関係があるようですが、私は本当に何を知りません...

4

1 に答える 1

3

メニューのクリック時に表示されるポップアップは、ContextMenuMenuItems を持ち、表示する です。メニュー項目のスタイルを設定するだけでは不十分です。それらの親/コンテナーもスタイル設定する必要があります。

.context-menu {
    -fx-skin: "com.sun.javafx.scene.control.skin.ContextMenuSkin";
    -fx-background-color: darkgreen;
    -fx-background-insets: 0, 1, 2;
    -fx-background-radius: 0 6 6 6, 0 5 5 5, 0 4 4 4;
    -fx-padding: 0.333333em 0.083333em 0.666667em 0.083333em; /* 4 1 8 1 */
}

PS リンクした画像は、そのフォーラム サイトの許可により表示できません。

于 2013-10-14T16:13:26.183 に答える