开发者社区 > 云原生 > 容器服务 > 正文

TableViewprefWidthProperty绑定到父容器的prefWidthProperty

相关的FXML:

<ScrollPane fx:id="scrollpane_var" hbarPolicy="NEVER" prefHeight="200.0" prefWidth="200.0" GridPane.columnSpan="3" GridPane.rowIndex="2" GridPane.rowSpan="5">
         <content>
            <TableView fx:id="tableview_var" prefHeight="169.0" prefWidth="292.0">
              <columns>
                <TableColumn prefWidth="69.0" text="Quantité" />
                <TableColumn prefWidth="161.0" text="Nom" />
                  <TableColumn prefWidth="56.0" text="Prix" />
              </columns>
            </TableView>
         </content>
      </ScrollPane>```
控制器类代码:

public class Lancer {

@FXML // fx:id="scrollpane_var
private ScrollPane scrollpane_var; // Value injected by FXMLLoader

@FXML // fx:id="tableview_var"
private TableView<String> tableview_var; // Value injected by FXMLLoaderte void initialize()

public void initialize() {
tableview_var.prefWidthProperty().bind(scrollpane_var.prefWidthProperty());
}```

视觉表现 :

单击以查看Scenebuilder屏幕截图

如标题所示,我试图将TableView的宽度绑定到它的Parent容器,并且文档有点混乱,因为我对GUI Applications非常陌生。

这行代码是我最熟练的代码,我不知道为什么它不起作用:

 public void initialize() {
        tableview_var.prefWidthProperty().bind(scrollpane_var.prefWidthProperty());
        }```
问题来源:Stack Overflow

展开
收起
montos 2020-03-27 22:11:42 456 0
1 条回答
写回答
取消 提交回答
  • A TableView管理自己的滚动,因此您根本不应将其放在a内ScrollPane。只需完全从布局中省略滚动窗格。

    通常,如果您希望滚动窗格的内容适合滚动窗格的可用宽度,则应使用fitToWidth属性,而不是尝试使用绑定。通常,像这样绑定首选项宽度不是一个好主意。如果您使用的布局或容器没有提供所需的功能,而几乎总是提供该功能,则您应该继承Pane并覆盖layoutChildren()其他方法。在这里,TableView已经提供了滚动功能,在更一般的情况下,ScrollPane允许您指定内容应适合滚动窗格的宽度。

    <ScrollPane ... fitToWidth="true>
        <!-- ... -->
    </ScrollPane>
    

    但同样,这里的滚动窗格是多余的。

    回答来源:Stack Overflow

    2020-03-27 22:12:24
    赞同 展开评论 打赏
问答分类:
问答标签:

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
阿里云文件存储 NAS 在容器场景的最佳实践 立即下载
何种数据存储才能助力容器计算 立即下载
《容器网络文件系统CNFS》 立即下载