我有一些具有两列的TableView-名称和大小;此表适用于File对象;
PropertyValueFactory可以为列获取对象的属性,尝试搜索somenameProrperty、getSomename、isSomename;我需要从文件中获取length()方法。
columnName.setCellValueFactory(new PropertyValueFactory<>("name"));
columnSize.setCellValueFactory(new PropertyValueFactory<>("length"));
此代码查看文件名(getName()方法),但长度列为空。知道我可以用factory从文件中获取length()吗?
找到解决方案了
columnSize.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<File, String>, ObservableValue<String>>() {
@Override
public ObservableValue<String> call(TableColumn.CellDataFeatures<File, String> param) {
long size = param.getValue().length();
size = size/1024;
return new ReadOnlyObjectWrapper(String.valueOf(size));
}
});
您应该直接实现单元值工厂,而不是使用方便的(有些遗留的)类PropertyValueFactory。
假设您的列大小是一个表列
columnSize.setCellValueFactory(cellData ->
new SimpleLongProperty(cellData.getValue().length()));
如果您想更优雅地格式化列中的数据,您可以额外设置单元格工厂:
columnSize.setCellFactory(col -> new TableCell<File, Number>() {
@Override
protected void updateItem(Number length, boolean empty) {
super.updateItem(length, empty);
if (empty) {
setText(null);
} else {
setText(formatFileLength(length.longValue()));
}
}
});
// ...
private String formatFileLength(long length) {
final String[] unitNames = {"bytes", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"};
int i ;
for (i = 0 ; length > 1024 && i < unitNames.length - 1 ; i++) {
length = length / 1024 ;
}
return String.format("%,d %s", length, unitNames[i]);
}
我正在使用JHipster开发基于Spring Boot和AngularJS的应用程序。我的问题是如何设置上传文件的最大大小? 如果我试图上传到大文件,我会在控制台中获得以下信息: 和状态为500的服务器响应。 怎么设置?
在此输入图像说明 虽然大小设置为与父级匹配,但仍未设置为极端全屏???
问题内容: 我想将配置文件名称设置为整个程序包,但我不知道如何。如果在哪里不是简单的方法,那么我必须用注释标记包和子包中的每个类。 标签不支持这样的属性,所以我不知道。 问题答案: 您可以将个人资料设置为: 文件-用于xml配置 Java配置类 在它们的每一个中,您都可以对特定的软件包使用组件扫描。
我是javafx和fxml的新手,我无法在边框窗格中居中我的项目。 我的fxml如下: 问题似乎是vbox有整个屏幕,里面的项目在top_left。我知道我需要将vbox的宽度设置为最小值,而不是让它在边框中扩展,但是怎么做?? 非常感谢。
问题内容: 基本上,我在XML内有此功能,但是我必须在代码内重新创建它。我该怎么做? 我可以使用它来设置文本大小,但是layout_width和height呢? 有没有办法告诉代码使用DP单元而不是像素?还是将DP转换为像素的转换功能? 问题答案: 提取:
我没有任何方法在接口中获取文件大小。那么,有什么方法可以限制webflux中上传文件的最大大小,而不是复制它呢?我知道有像这样的标题,但是看起来并不安全。