美文网首页
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