【发布时间】:2017-12-30 18:25:05
【问题描述】:
我有一个显示自定义对象列表的 CheckListView。我正在尝试实现全选/全选选项,但是列表视图没有改变。复选框仅在单击时才会更改
pendingUsers_listView.setCellFactory(new Callback<ListView<User>, javafx.scene.control.ListCell<User>>() {
@Override
public ListCell<User> call(ListView<User> listView) {
return new PendingUserCell();
}
});
自定义单元格:
public class PendingUserCell extends CheckBoxListCell<User> {
PendingUserCell() {
this.setSelectedStateCallback(new Callback<User, ObservableValue<Boolean>>() {
@Override
public ObservableValue<Boolean> call(User param) {
return new SimpleBooleanProperty(param.isApproved());
}
});
}
@Override
public void updateItem(User u, boolean empty) {
super.updateItem(u, empty);
if (empty) {
this.setText(null);
} else {
this.setText(u.getFullName() + " ( " + u.getEmail() + " )");
}
}
}
这些是负责操作的函数
public void handleSelectAll() {
this.pendingUsers_listView.getCheckModel().checkAll();
this.pendingUsers_listView.refresh();
}
public void handleSelectNone() {
this.pendingUsers_listView.getCheckModel().clearChecks();
this.pendingUsers_listView.refresh();
}
【问题讨论】:
标签: java listview user-interface javafx