美文网首页
TableView添加复选框Checkbox,实现选择

TableView添加复选框Checkbox,实现选择

作者: Mixqum | 来源:发表于2017-11-14 13:55 被阅读0次

具体思路:自定义Checkbox类,在表格数据类添加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.表格数据模型TestDevice添加Checkbox属性

public class TestDevice
{
    public Checkbox cb = new Checkbox();
}

3.声明表格checkbox列

    @FXML
    TableColumn<TestDevice,CheckBox> actionColumn 

绑定数据
actionColumn.setCellValueFactory(cellData ->cellData.getValue().cb.getCheckBox());
4.获得表格checkbox状态。只要获取TableView数据集合,遍历checkbox即可

    public void check() {
        ObservableList<TestDevice> list = tableView.getItems();
        for (TestDevice o : list )
        {
            if (o.cb.isSelected())
            {
                System.out.println(o.deviceName.get());
            }
        }
    }

相关文章

网友评论

      本文标题:TableView添加复选框Checkbox,实现选择

      本文链接:https://www.haomeiwen.com/subject/pylxvxtx.html