gpt4 book ai didi

java - 如何使用 css 在 JavaFX 中设置多个分隔符的样式?

转载 作者:行者123 更新时间:2023-12-02 05:42:45 45 4
gpt4 key购买 nike

我有一个布局,其中有五个水平分隔符。我希望它们都具有相同的默认样式,但可以选择在以后更改其中任何一个样式。

我想要的默认样式是单像素高度的实心黑线。

我没有分隔符的自定义类,因此我认为样式类不合适。因此我认为 ids 可能是更好的主意。所以我有这样的东西:

Separator topSeparator = new Separator();
topSeparator.setId("top-separator");
Separator middleSeparator = new Separator();
middleSeparator.setId("middle-separator");
etc...

然后在我的CSS中这样:

#top-separator .line{
-fx-border-color: black;
-fx-border-width: 1 0 0 0;
}
#middle-separator .line{
-fx-border-color: black;
-fx-border-width: 1 0 0 0;
}
etc...

这是指定单个像素实黑线的最佳方式吗?

使用 ids 是否适合样式类,如果是这样,我是否可以指定父样式,这样我就不必重复 -fx-border-color: black;-fx-border-width: 1 0 0 0; 五次?

最佳答案

Is this the best way of specifying a single pixel solid black line?

这是一个非常好的方法,假设它能满足您的需要。

Is using ids appropriate over style classes, and if so, is there anyway I can specify a parent style so that I don't have to repeat

Id 应该是唯一的,而多个 Node 可以共享同一个类。如果您想要某个特定 Node 具有特定样式,请使用 ids;如果存在(或可能是)应具有相同样式的 Node 集合,请使用 ids方式。

如果需要,您可以同时使用这两种技术:

Separator topSeparator = new Separator();
topSeparator.setId("top-separator");
topSeparator.getStyleClass().add("my-separator");
Separator middleSeparator = new Separator();
middleSeparator.setId("middle-separator");
middleSeparator.getStyleClass().add("my-separator");

然后:

.my-separator .line {
-fx-border-color: black ;
-fx-border-width: 1 0 0 0 ;
}

#top-separator .line {
/* rules specific to top separator */
}

#middle-separator .line {
/* rules specific to middle separator */
}
/* etc ... */

关于java - 如何使用 css 在 JavaFX 中设置多个分隔符的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24368418/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com