我有两个切换按钮。
有人可以解释一下这种行为并提供解决方案。
我希望所有切换按钮都是独立的。
答案 0 :(得分:1)
正如我所提到的,如果你没有将ToggleButton
放入ToggleGroup
,你可以分别听取切换的selectedProperty
:
ToggleButton tb1 = new ToggleButton("ToggleButton1");
ToggleButton tb2 = new ToggleButton("ToggleButton2");
tb1.selectedProperty().addListener(((observable, oldValue, newValue) -> {
System.out.println(tb1.getText() + " changed from " + oldValue + " to " + newValue);
System.out.println("Taking a nap!");
}));
tb2.selectedProperty().addListener(((observable, oldValue, newValue) -> {
System.out.println(tb2.getText() + " changed from " +oldValue + " to " + newValue);
System.out.println("Working hard!");
}));
更新:您还可以使用onActionProperty
。
for (int i = 0; i< 20; i++) {
ToggleButton tb = new ToggleButton("ToggleButton"+i);
tb.setUserData("UserData"+i);
tb.setOnAction(e -> {
System.out.println(tb.getText() + " - Selected: " + tb.isSelected()
+ "; UserData: " + tb.getUserData());
});
}