gpt4 book ai didi

JavaFX TableColumn 在可调整大小的列上设置PreferredWidth

转载 作者:行者123 更新时间:2023-11-30 06:45:21 25 4
gpt4 key购买 nike

我有一个包含三列的表,我想确保列的总宽度等于表的宽度,因此我使用 CONSTRAINED_RESIZE_POLICY。

我希望列以我指定的宽度开始,但用户可以修改。

如果我这样做:

albumTable.setColumnResizePolicy ( TableView.CONSTRAINED_RESIZE_POLICY );
artistColumn.prefWidthProperty().bind(albumTable.widthProperty().multiply(0.4));
yearColumn.prefWidthProperty().bind(albumTable.widthProperty().multiply(0.2));
albumColumn.prefWidthProperty().bind(albumTable.widthProperty().multiply(0.4));
artistColumn.setResizable(false);
yearColumn.setResizable(false);
albumColumn.setResizable(false);

列的大小符合我的要求:

good

但是,如果我将 setResizable() 更改为 true,那么所有列的大小都会变得相同:

bad

关于如何解决这个问题有什么建议吗?

将首选宽度的设置简化为 column.setPreferredWidth ( 200 ) 不会产生任何影响。宽度始终在所有列之间平均分配。

有什么方法可以设置列的首选宽度(或实际宽度),同时仍然允许用户调整这些列的大小?

最佳答案

似乎CONSTRAINED_RESIZE_POLICY以列最大宽度的比率开头。以 4:2:4 的比例开始,

tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
column1.setResizable(true);
column2.setResizable(true);
column3.setResizable(true);
column1.setMaxWidth(40000);
column2.setMaxWidth(20000);
column3.setMaxWidth(40000);

当需要 radio 时,此方法可以解决问题。

关于JavaFX TableColumn 在可调整大小的列上设置PreferredWidth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43776047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com