Java 如何在TableView中忽略负值和零值?
我有以下代码:Java 如何在TableView中忽略负值和零值?,java,javafx,Java,Javafx,我有以下代码: costCol_.setCellValueFactory(cellData -> new SimpleIntegerProperty(cellData.getValue().getCost())); table_.getItems().addAll(SomeEnumType.values()); @FXML private TableView<SomeEnumType> table_; @FXML private TableColumn<7, Num
costCol_.setCellValueFactory(cellData -> new SimpleIntegerProperty(cellData.getValue().getCost()));
table_.getItems().addAll(SomeEnumType.values());
@FXML
private TableView<SomeEnumType> table_;
@FXML
private TableColumn<7, Number> costCol_;
costCol.setCellValueFactory(cellData->new SimpleIntegerProperty(cellData.getValue().getCost());
表2.getItems().addAll(SomeEnumType.values());
@FXML
私有表视图表;
@FXML
私有表列成本;
costCol中的某些值可以是0/-1,并且当前(从SomeEnumType.getCost()
)显示为0或-1。
我不希望将它们显示为0,而希望显示为空单元格。可能吗?
我已经检查了SimpleIntegerBase,据我所知,返回的值来自get()
方法,该方法返回int
是否可以在不将类型转换为字符串的情况下执行此操作
提前感谢。使用单元格工厂(除现有单元格值工厂外)更改值的显示方式:
costCol.setCellFactory(tc -> new TableCell<SomeEnumType, Number>() {
@Override
protected void updateItem(Number item, boolean empty) {
super.updateItem(item, empty) ;
if (empty) {
setText(null);
} else {
int value = item.intValue();
if (value <= 0) {
setText("");
} else {
setText(Integer.toString(value));
}
}
}
});
costCol.setCellFactory(tc->new TableCell(){
@凌驾
受保护的void updateItem(数字项,布尔值为空){
super.updateItem(项,空);
if(空){
setText(空);
}否则{
int value=item.intValue();
if(value)SomeEnumType
怎么可能是负数,或者,负数是什么意思?SomeEnumType有一个getCost()方法,返回一个int。这是我关心的问题,如果我不清楚这个问题,很抱歉。