具體思路:自定義Checkbox類地技,在表格數(shù)據(jù)類添加Checkbox屬性藐不,綁定表格checkbox列祟滴。
1.定義Checkbox類
public class Checkbox
{
CheckBox checkbox=new CheckBox();
public ObservableValue<CheckBox> getCheckBox()
{
return new ObservableValue<CheckBox>() {
@Override
public void addListener(ChangeListener<? super CheckBox> listener) {
}
@Override
public void removeListener(ChangeListener<? super CheckBox> listener) {
}
@Override
public CheckBox getValue() {
return checkbox;
}
@Override
public void addListener(InvalidationListener listener) {
}
@Override
public void removeListener(InvalidationListener listener) {
}
};
}
public Boolean isSelected()
{
return checkbox.isSelected();
}
}
2.表格數(shù)據(jù)模型TestDevice添加Checkbox屬性
public class TestDevice
{
public Checkbox cb = new Checkbox();
}
3.聲明表格checkbox列
@FXML
TableColumn<TestDevice,CheckBox> actionColumn
綁定數(shù)據(jù)
actionColumn.setCellValueFactory(cellData ->cellData.getValue().cb.getCheckBox());
4.獲得表格checkbox狀態(tài)檀蹋。只要獲取TableView數(shù)據(jù)集合内狸,遍歷checkbox即可
public void check() {
ObservableList<TestDevice> list = tableView.getItems();
for (TestDevice o : list )
{
if (o.cb.isSelected())
{
System.out.println(o.deviceName.get());
}
}
}