CSS ControlsFX 分段栏文本的样式

CSS styling of ControlsFX segmented bar text

如何更改 ControlsFX 分段条的 text 的大小和颜色?通常的方式:

-fx-font-size: 15px

好像不行。

使用 CSS 样式表还是通过代码更改它对我来说并不重要。我都试过了。 -fx-background-color: 确实有效,所以我的造型有效果。

我似乎无法在任何地方找到,或者凭直觉找出正确的 CSS 如何设置分段条形控件文本的样式。

谢谢!

ControlsFX 使用默认 SegmentViewFactory,它使用一个名为 SegmentView 的 class,样式为 class segment-view,所以这是设置样式的方法SegmentedBar 中的文本:

.segment-view {
    -fx-font-size: 15px;
}

SegmentedBar 中设置文本样式的另一种方法是使用自定义 SegmentViewFactory。这是一个例子:

SegmentedBar<Segment> bar = new SegmentedBar<>();
bar.getSegments().addAll(
        new Segment(2.46, "Apple"),
        new Segment(2.43, "Microsoft"),
        new Segment(1.94, "Alphabet"),
        new Segment(1.72, "Amazon"));
bar.setOrientation(Orientation.HORIZONTAL);
bar.setSegmentViewFactory(segment -> {
    Label viewNode = new Label(String.format("%s (%.2fT)", segment.getText(), segment.getValue()));
    viewNode.setStyle("-fx-font-size: 15px; -fx-font-style: italic;");
    return viewNode;
});