JavaFX菜单栏与CSS的奇怪行为
我正在为我的应用程序构建一个带有菜单栏的简单GUI,我遇到了一个奇怪的问题。JavaFX菜单栏与CSS的奇怪行为,java,css,javafx,Java,Css,Javafx,我正在为我的应用程序构建一个带有菜单栏的简单GUI,我遇到了一个奇怪的问题。 adminChooseAction.fxml <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control
adminChooseAction.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import java.net.URL?>
<VBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="com.sadzbr.controller.AdminChooseActionController"
>
<MenuBar>
<Menu text="Option">
<MenuItem text="A"/>
<MenuItem text="B"/>
<MenuItem text="C"/>
<MenuItem text="D"/>
</Menu>
</MenuBar>
<stylesheets>
<URL value="@../../css/Main.css"/>
</stylesheets>
</VBox>
此fxml文件的控制器只有按钮处理程序,不影响场景样式。
使用此文件,我的程序如下所示:我将绿色添加到.container,以表明该类导致了问题。我不知道为什么菜单栏被这个类风格化了。当我从这个fxml中删除样式表时,问题就消失了。VBox和菜单栏没有任何样式类
感谢您的建议,您的回答将指明问题的根源。
菜单栏
有一个内部组件,其样式类为容器
(您可以在中看到这一点,例如)。它确实应该记录在CSS文档中,但不是。请使用不同的样式类名,或者在这些样式的选择器中更加具体。(我同意这两种方法都不是特别健壮,但CSS只是缺少与Java相同级别的封装。)@James_D It解决了这个问题。谢谢你的回答。
.error-bar {
-fx-fill: #B00020;
}
.btn {
-fx-background-color: #6200EE;
-fx-text-fill: white;
}
.btn-large {
-fx-font-size: 32;
-fx-pref-width: 300;
}
.display-center {
-fx-alignment: center;
}
.display-right {
-fx-alignment: right;
}
.container {
-fx-padding: 80;
-fx-spacing: 10;
-fx-font-size: 16;
-fx-pref-height: 100%;
-fx-background-color: green;
}
.text-center {
-fx-text-alignment: center;
}
.h1 {
-fx-font-size: 24;
}
.button-grid {
-fx-pref-width: 100%;
-fx-hgap: 20;
}
.button-grid-button {
-fx-pref-width: 300;
}
.choice-box {
-fx-pref-width: 900;
}
.form-control {
-fx-min-width: 300;
}