gpt4 book ai didi

java - DEFAULT_SIZE 和 PREFERRED_SIZE 有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:31 25 4
gpt4 key购买 nike

我正在使用 Swing GroupLayout,我对 GroupLayout.DEFAULT_SIZEGroupLayout.PREFERRED_SIZE 的值感到困惑。我永远不知道什么时候在 GroupLayout.addComponent(Component, int, int, int) 这样的方法中使用它们中的每一个。

假设我有这段代码:

GroupLayout l = ...;

l.setHorizontalGroup(l.createSequentialGroup()
.addComponent(tf1)
.addComponent(tf2));

l.setVerticalGroup(l.createParallelGroup()
.addComponent(tf1)
.addComponent(tf2));

在使用 GroupLayout 布局的单行上有两个 JTextField(一个水平顺序组和一个垂直平行组)。如果我现在调整窗口大小,两个组件都会获得可用空间(各占 50%)。但我只希望第一个文本字段水平增长/缩小,而第二个文本字段垂直增长/收缩。我应该使用什么值的 minprefmax 来实现它?我知道我可以尝试一下,看看哪种组合有效,但我想知道这个问题背后的原因。

最佳答案

一些指南可以在 How to Use GroupLayout: Component Size and Resizability 中找到.关于 DEFAULT_SIZEPREFERRED_SIZE

They can be used as parameters in the method

 addComponent(Component comp, int min, int pref, int max)

To force a component to be resizable (allow shrinking and growing):

 group.addComponent(component, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

This allows the component to resize between zero size (minimum) to any size (Short.MAX_VALUE as maximum size means "infinite"). If we wanted the component not to shrink below its default minimum size, we would use GroupLayout.DEFAULT_SIZE instead of 0 in the second parameter.

To make a component fixed size (suppress resizing):

 group.addComponent(component, GroupLayout.PREFERRED_SIZE,
GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)...

有趣的是,常量值是负数,因此它们不会被误认为是实际约束。

关于java - DEFAULT_SIZE 和 PREFERRED_SIZE 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2563405/

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