Java FX Scen Builder 包含一种非常特殊形式的切换按钮。几个按钮在视觉上由一条小的垂直线连接并分隔:
我想知道这是怎么做到的。有人知道吗?
这是一个ToggleButton的HBox,都具有相同的ToggleGroup和自定义 css。
在Ensemble示例应用程序(Ensemble 将其称为药丸按钮)中有一个显示类似控制组的源代码示例。我认为 Ensemble 示例源许可证是 BSD,因此您应该能够在您的应用程序中使用它。转到 Ensemble,在 Ensemble 示例应用程序中搜索,单击 Pill Button 示例上的“保存 NetBeans 项目... ”按钮,然后在 NetBeans 中打开生成的项目,完整代码、css 和支持图像文件将包含在项目。Pill
作为自定义 CSS 的一种更简单的替代方案,Controls FX 项目提供了分段按钮控件,它允许像 OP 所要求的那样对按钮进行可视化分组。
它是 BSD 许可的,所以我想在大多数情况下可以安全使用。该库还有许多其他有用且设计良好的控件。
分段按钮如下所示:
使用非常简单:
ToggleButton tb1 = new Button("Red");
ToggleButton tb1 = new Button("Green");
ToggleButton tb1 = new Button("Blue");
SegmentedButton seg = new SegmentedButton();
seg.getButtons().addAll(tb1,tb2,tb3);
hbox.getChildren().add(seg);
它允许指定选择是否应该互斥。对于第二个 bwhaviour(非互斥),将分段按钮的组设置为 null :
seg.setToggleGroup(null);
来源: http ://controlsfx.bitbucket.org/org/controlsfx/control/SegmentedButton.html