【问题标题】:JavaFX 8 CheckBox serializationJavaFX 8 CheckBox 序列化
【发布时间】:2021-07-15 11:15:49
【问题描述】:

我有类似的对象

class Person extends Human implements Serializable{ //just random example
String name;
CheckBox check;

//other functions with checkbox and name
}

我想序列化整个 CheckBox 对象。 我发现 Java FX 元素是不可能的,但是如果我只想为每个实例序列化一个 Java FX 对象,有什么解决方法吗?

感谢您的回答。

【问题讨论】:

  • 不要使用节点作为数据(它们不可序列化,几乎没有任何理由),这里使用普通布尔值

标签: java javafx serialization checkbox serializable


【解决方案1】:

原答案here

TableColumn<User, CheckBox> userSelected;

userSelected.setCellValueFactory(arg0 -> {
            User user = arg0.getValue();
            CheckBox checkBox = new CheckBox();
            checkBox.selectedProperty().setValue(user.isSelected());
            checkBox.selectedProperty().addListener((ov, old_val, new_val) -> user.setSelected(new_val));
            return new SimpleObjectProperty<>(checkBox);
        });
    tableView.getColumns().addAll(userSelected);

【讨论】:

  • 重复:将节点作为数据是错误!而是使用TableColumn&lt;User, Boolean&gt; 将布尔值可视化为复选框(自定义或 CheckBoxTableCell)
猜你喜欢
  • 2012-06-17
  • 1970-01-01
  • 2017-03-11
  • 2014-12-16
  • 2015-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
相关资源
最近更新 更多