[英]No Integer value of 0 in TableView using JavaFX
我在JavaFX中使用TableView有问题。 我有3个带有整数的列。 从一开始,这些单元格的默认值就应该为空(JavaFX使用“ 0”而不是什么)。 我的问题:如何显示“”(什么都没有)而不是“ 0”。 我已经准备好使用setCellFactory来使我的表可编辑。 这里的代码:
_points1 = new TableColumn<Row, Integer>("Spieler 1");
_points1.setCellValueFactory(new PropertyValueFactory<Row, Integer>("_valuePlayer1"));
_points1.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter()));
_points2 = new TableColumn<Row, Integer>("Spieler 2");
_points2.setCellValueFactory(new PropertyValueFactory<Row, Integer>("_valuePlayer2"));
_points2.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter()));
_points3 = new TableColumn<Row, Integer>("Spieler 3");
_points3.setCellValueFactory(new PropertyValueFactory<Row, Integer>("_valuePlayer3"));
_points3.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter()));
问题不在于您的cellFactory
/ cellValueFactory
,而是您的Row
类。 您正在使用IntegerProperty
。 这些属性不允许使用null
值。 如果尝试使用IntegerProperty.setValue
将null
设置为值,则该值将自动替换为0
。 这导致您观察到的行为。
要允许null
值,您需要使用ObjectProperty<Integer>
而不是IntegerProperty
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.