【问题标题】:How to make table fit window in javafx如何在javafx中使表格适合窗口
【发布时间】:2017-07-30 06:36:02
【问题描述】:

我想让我的桌子总是适合窗户。

我设法让它适合窗口,但我希望它在右边距上留下一些空间,就像在左边距上一样。另一个问题是,如果表格的宽度小于窗口,它会自动生成一个空列,这是我不想要的。

我尝试使用 vbox 初始化场景并使 vbox 自动增长,但我希望它留下与左侧相同的边距。

    final VBox vbox = new VBox();
    Scene scene = new Scene(vbox);
    vbox.setVgrow(table, Priority.ALWAYS);
    stage.setTitle("Market");
    stage.setWidth(700);
    stage.setHeight(650);

//代码

vbox.setSpacing(10);
vbox.setPadding(new Insets(10, 0, 0, 10));
vbox.getChildren().addAll(head, table, hb);
stage.setScene(scene);
stage.show();

这是完整的代码:http://pastebin.com/fuDQsqLz

【问题讨论】:

    标签: user-interface javafx


    【解决方案1】:

    你只需要调整 VBox 的 Padding。

    Insets 的构造函数是这样的:

    public Insets(top, right, bottom, left) { ... }
    

    所以如果你想要右边的空间,填充定义应该是:

    vbox.setPadding(new Insets(10, 10, 0, 10));
    

    【讨论】:

    • 仍然,当我使窗口变大时,它会创建另一个空列。我可以解决这个问题吗?
    • 当我把窗口变大时,我可以让现有的列更宽吗?如何? @ItachiUchiha
    • 您可以使用table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); 来避免多余的列。
    猜你喜欢
    • 1970-01-01
    • 2021-05-04
    • 2014-05-12
    • 2011-10-04
    • 2011-06-05
    • 2014-06-05
    • 1970-01-01
    • 2015-05-25
    • 2020-01-16
    相关资源
    最近更新 更多