我有一个这样的代码:
CheckBox checkboxFrame1;
checkboxFrame1.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
CheckBox chk = (CheckBox) event.getSource();
if (!chk.isSelected())
{
if (makeNotSelected()) {
chk.setSelected(false);
}
}
}
});
或者其他版本:
checkboxFrame1.selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
if (makeNotSelected()) {
checkboxFrame1.setSelected(false);
}
}
});
这两个代码都不起作用。我认为它们不会为了避免竞争条件而工作。
如何使用事件来更改导致它的对象的状态(选中或未选中)?
我的目标是通过使用makeNotSelected ()方法进行测试,将刚刚选中的复选框置于未选中状态。
https://stackoverflow.com/questions/41270293
复制相似问题