tableview - TableView 不使用滚动条显示所有列
问题描述
我正在使用 TableView 并动态添加列。列标题嵌套在有周标题的地方,该周的每一天嵌套在周标题下。
TableColumn<EmployeeForWeeksDbm, String> week2fx = new TableColumn<>("Week " + (weekNum ));
week2fx.setSortable(false);
TableColumn<EmployeeForWeeksDbm, String> day21fx = new TableColumn<>(dateHeader(ld));
day21fx.setCellValueFactory(cellData -> cellData.getValue().d8Property());
day21fx.setCellFactory(ComboBoxTableCell.forTableColumn(ltList));
day21fx.setSortable(false);
ldAdjust = ld.plusDays(1);
TableColumn<EmployeeForWeeksDbm, String> day22fx = new TableColumn<>(dateHeader(ldAdjust));
day22fx.setCellValueFactory(cellData -> cellData.getValue().d9Property());
day22fx.setCellFactory(ComboBoxTableCell.forTableColumn(ltList));
day22fx.setSortable(false);
然后我将天数添加到星期标题中;
week2fx.getColumns().addAll(day21fx,day22fx,day23fx,day24fx,day25fx,day26fx,day27fx);
因为我有 4 周的时间要展示;
mainscheduleTVfx.getColumns().addAll(employeefx,week1fx,week2fx,week3fx,week4fx);
每件事都正确添加,并按预期显示。数据加载,组合框工作,一切都很棒!但是,当窗口缩小时,滚动条会被启用(使用默认的 TableView 滚动条),当我们滚动到最右边时,最后一列似乎被剪掉了。
起初我以为我错误地使用了 Scenebuilder 但我只能拥有 TableView 而没有其他任何东西它仍然会剪辑结尾
这是场景的代码;
<AnchorPane fx:id="anchorpanefx" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controller_SchedMan">
<children>
<TableView fx:id="mainscheduleTVfx" layoutX="184.0" layoutY="42.0" prefHeight="400.0" prefWidth="600.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
</children>
</AnchorPane>
这是标题标题的代码,以防您想知道;
private String dateHeader(LocalDate ld) {
String dayHeader = ld.format(DateTimeFormatter.ofPattern("MMM-dd"));
return dayHeader;
}
我做什么似乎并不重要,我最后得到了剪辑。我认为这是我创建和添加列的方式,但我不确定我哪里出错了。除了最后一列剪裁之外,其他一切都再次完美运行。我还注意到,如果我不添加尽可能多的“周”,剪裁就会减少。好吧,似乎是这样。
提前致谢!
解决方案
我发现通过设置最大宽度,我能够消除剪裁。
day21fx.setMaxWidth(60);//截取当天
我还必须确保为上游标头设置了最大值;week2fx.setMaxWidth(60*7);
尽管已经解决了这个问题,但我不太明白为什么 TableView 首先会剪辑。我想更多的阅读。
推荐阅读
- python - 在 Django 中汇总总和。同名对象的总和
- flutter - 我想在 Flutter 中添加书签或收藏夹功能
- swift - IOS。RealityKit,无法将手势安装到实体
- sql-server - Docker Codeigniter3 无法连接 SQL Server 数据库
- python - 在我的代码中遇到“继续”和“中断”错误
- javascript - 如何使用会话存储自动填写表单?
- python - 如何计算给定二维数组上的轮廓(内部值,外部 0)像素?
- node.js - oracledb getConnection 不是节点 js 中的函数
- python - 将图形对象覆盖到 matplotlib 图
- spring-boot - 为什么 Spring Boot 仅在从 rabbitmq 收到消息时才抛出“javax.persistence.EntityNotFoundException”?