在处理需要居中复选框列的 tableview 时,我发现了一个问题。我能够创建一个带有复选框的列。我还想根据该复选框值在我的模型中设置属性。我用下面的代码做到了:
isCanceledCol.setCellValueFactory(new Callback<CellDataFeatures<TransactionModel,CheckBox>,ObservableValue<CheckBox>>() {
@Override
public ObservableValue<CheckBox> call(final CellDataFeatures<TransactionModel, CheckBox> p) {
CheckBox cb = new CheckBox();
cb.selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
p.getValue().setIsCanceled(t1.booleanValue());
}
}
);
canceledCB.add(cb);
return new SimpleObjectProperty(cb);
}
上面代码的问题是,复选框以左对齐出现。我想让它居中,但我也想保留复选框的 changed 事件来更改我的模型属性( p.getValue().setIsCanceled(t1.booleanValue()); )。
我真的很感谢你们的帮助。
问候, 克里斯玛安迪卡