gpt4 book ai didi

java - 如何忽略TableView中的负值和零值?

转载 作者:行者123 更新时间:2023-11-30 02:45:19 24 4
gpt4 key购买 nike

我有以下代码:

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 中的某些值可以是 0/-1,目前(来自 SomeEnumType.getCost()),它们显示为 0 或 -1。我不想将它们显示为 0 而不是空单元格。是否可以?我检查了 SimpleIntegerBase,据我了解,返回的值来自返回 intget() 方法。

是否可以在不将类型转换为 String 的情况下执行此操作?

提前致谢。

最佳答案

使用单元格工厂(除了现有的单元格值工厂之外)来更改值的显示方式:

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));
}
}
}
});

关于java - 如何忽略TableView中的负值和零值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40360179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com