我在使用 JavaFX 时遇到了以下问题。
在 Java Scene Builder 中使用样式表重新定义工具提示样式。
使用场景构建器生成的 FXML 文件中包含的相同样式表在 Eclipse 中执行时重新定义工具提示样式
<stylesheets>
<URL value="@../style/myCSS.css" />
</stylesheets>
不起作用(任何其他属性重新定义都有效)。
使用代码指令在 Eclipse 中使用相同的样式表重新定义工具提示样式:
scene.getStylesheets().add(this.getClass().getResource("/style/myCSS.css").toExternalForm());
工作正常。
使用的样式表(myCSS.css):
.tooltip {
-fx-background-radius: 2 2 2 2;
-fx-background-color: linear-gradient(#FFFFFF, #DEDEDE);
}
.page-corner {
-fx-shape: " ";
}
AnchorPane {
-fx-background-color: firebrick;
}
使用的 FXML 文件:
<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="91.0" prefWidth="200.0" xmlns:fx="http://javafx.com/fxml">
<children>
<Button layoutX="72.0" layoutY="35.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" text="Button">
<tooltip>
<Tooltip text="Tootip Text" />
</tooltip>
</Button>
</children>
<stylesheets>
<URL value="@../style/myCSS.css" />
</stylesheets>
</AnchorPane>
编辑:换句话说,我想在 FXML 文件中声明我的样式表。这样做似乎适用于除工具提示之外的任何属性重新定义(在本例中为 AnchorPane 背景颜色)。