【发布时间】:2016-06-01 01:28:13
【问题描述】:
我正在尝试制作一个简单的 3 列 TableView:
- 一个包含固定大小图标的图标列。此列不能调整大小,并且必须具有固定大小。
- 一个具有预定义首选大小的文本列,可以根据需要调整大小。
- 最后一列占用所有可用空间。
不幸的是,这个简单的用例对于 Java FX 8 来说似乎真的很复杂。我尝试了以下方法,根据我对文档的理解,它应该可以工作:
TableColumn<DebuggerItem, ImageView> iconColumn = new TableColumn<>("ICON");
TableColumn<DebuggerItem, String> typeColumn = new TableColumn<>("TEXT");
TableColumn<DebuggerItem, String> textColumn = new TableColumn<>("DATA");
setColumnResizePolicy(CONSTRAINED_RESIZE_POLICY);
// Fixed size column
iconColumn.setPrefWidth(40);
iconColumn.setMinWidth(40);
iconColumn.setMaxWidth(40);
iconColumn.setResizable(false);
// Predefined preferred size of 100px
typeColumn.setPrefWidth(100);
getColumns().addAll(iconColumn, typeColumn, textColumn);
这会产生以下 TableView:
我们可以看到,如果第一列的大小正确,那么第二列和第三列的大小相同,这不是我所期望的。第二列应为 100px 宽,最后一列占据剩余空间。
我错过了什么?
【问题讨论】:
标签: java javafx tableview javafx-8