Css JavaFX:表格行多色边框样式

Css JavaFX:表格行多色边框样式,css,javafx,tableview,tablerow,javafx-css,Css,Javafx,Tableview,Tablerow,Javafx Css,我想使用JavaFX在某些表行周围绘制自定义边框。在下图中,您可以看到当前状态 我需要做的是用黑线填充黄线之间的空白 我的第一个想法是定义两种样式并添加这两种样式: .tableRowStyle1{ -外汇边界宽度:3; -fx边框样式:实心; -fx边框颜色:黑色; } .tableRowStyle2{ -fx边框颜色:黄色; -fx边框样式:线段(12,12,12,12); -外汇边界宽度:3; } 不幸的是,我总是以黄色透明虚线结束,样式添加到TableRow的样式类的顺序并不重要 另

我想使用JavaFX在某些表行周围绘制自定义边框。在下图中,您可以看到当前状态

我需要做的是用黑线填充黄线之间的空白

我的第一个想法是定义两种样式并添加这两种样式:

.tableRowStyle1{
-外汇边界宽度:3;
-fx边框样式:实心;
-fx边框颜色:黑色;
}
.tableRowStyle2{
-fx边框颜色:黄色;
-fx边框样式:线段(12,12,12,12);
-外汇边界宽度:3;
}
不幸的是,我总是以黄色透明虚线结束,样式添加到
TableRow
的样式类的顺序并不重要

另一个想法是玩线性和径向梯度。线性渐变不会生成虚线。径向渐变似乎可以做到这一点,但虚线的长度并不均匀,因为它们适用于圆而不是矩形


非常感谢您对本主题的任何帮助

如果使用不同的样式规则,一个将替换另一个

您需要在同一规则中指定不同的边框样式作为逗号分隔值<代码>相位可用于修改初始偏移

示例

@Override
public void start(Stage primaryStage) {
    Region region = new Region();
    region.getStyleClass().add("border-region");

    Scene scene = new Scene(region, 300, 300);
    scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());

    primaryStage.setScene(scene);
    primaryStage.show();
}
style.css

。边界区域{
-背景色:红色;
-fx边框颜色:黄色、黑色;
-外汇边界样式:段(12,12),段(12,12)阶段12;
-外汇边界宽度:3;
}
PseudoClass <代码>而不是样式类,因为样式看起来是可以打开/关闭的东西,使用<代码> PseudoClass < /C>比较容易,因为您不必担心不止一次添加样式类。