Javafx 2 切换按钮时背景不会改变

Javafx 2 切换按钮时背景不会改变,javafx-2,javafx,javafx-8,Javafx 2,Javafx,Javafx 8,我想实现这个示例: 导入javafx.application.application; 导入javafx.beans.value.ChangeListener; 导入javafx.beans.value.observeValue; 导入javafx.scene.Group; 导入javafx.scene.scene; 导入javafx.scene.control.Toggle; 导入javafx.scene.control.ToggleButton; 导入javafx.scene.control

我想实现这个示例:

导入javafx.application.application;
导入javafx.beans.value.ChangeListener;
导入javafx.beans.value.observeValue;
导入javafx.scene.Group;
导入javafx.scene.scene;
导入javafx.scene.control.Toggle;
导入javafx.scene.control.ToggleButton;
导入javafx.scene.control.ToggleGroup;
导入javafx.scene.layout.HBox;
导入javafx.scene.paint.Color;
导入javafx.scene.shape.Rectangle;
导入javafx.stage.stage;
公共类测试扩展了应用程序
{
私有void init(阶段primaryStage)
{
组根=新组();
primaryStage.setScene(新场景(根));
字符串pillButtonCss=DX57DC.class.getResource(“PillButton.css”).toExternalForm();
//为它们创建3个切换按钮和一个toogle组
ToggleButton tb1=新的ToggleButton(“左按钮”);
tb1.setId(“药丸左”);
ToggleButton tb2=新的ToggleButton(“中间按钮”);
tb2.setId(“药丸中心”);
ToggleButton tb3=新的ToggleButton(“右按钮”);
tb3.setId(“药丸权利”);
最终ToggleGroup=新ToggleGroup();
tb1.设置切换组(组);
tb2.设置切换组(组);
tb3.设置切换组(组);
//选择要开始的第一个按钮
分组。选择切换(tb1);
//////////////////////////////////////////
tb1.setUserData(颜色为浅绿色);
tb2.setUserData(颜色为浅蓝色);
tb3.setUserData(Color.SALMON);
最终矩形rect=新矩形(300300);
group.selectedToggleProperty().addListener(新的ChangeListener())
{
@凌驾

public void已更改(observeValue您必须将
rect
添加到场景图中:

root.getChildren().addAll(hBox, rect);

此外,请考虑为您的
根目录
边框窗格
使用适当的布局,而不是

我用工作解决方案更新了帖子。第二个问题是如何使用按钮切换多个具有不同内容的
矩形
?我在以下位置添加了答案:(由于代码几乎相同)
root.getChildren().addAll(hBox, rect);