gpt4 book ai didi

java - 区分GridBagConstraints中的weightx和ipadx (Java)

转载 作者:行者123 更新时间:2023-11-30 07:42:29 25 4
gpt4 key购买 nike

我对 GridBagConstraints 中的weightx和ipadx之间的区别感到困惑。据我观察,两者都会改变单元格的宽度尺寸。

基于文档。

weightx

指定如何分配额外的水平空间。

ipadx

该字段指定组件的内部填充,即为组件的最小宽度添加多少空间。

对我来说,两者在单元格宽度大小方面都有相同的结果。那么有人可以解释一下布局中的效果或调整框架或面板大小时的效果吗?何时使用weightx而不是ipadx?提前致谢。

最佳答案

For me both have the same results in cell's width size.

区别是什么应该非常明显。

  1. ipadx 是添加到宽度上的固定量。所以会影响frame打包时组件的宽度。

  2. weightx 控制当包含组件的面板宽度发生变化时列将增大/缩小的程度。因此,只有当框架可见并且调整框架大小时,您才会注意到效果。

如果您没有看到差异,则说明您的代码未正确实现。也许您的布局管理器不允许面板动态增长,因此组件也无法增长。

代码的基本结构是:

JTextField textField = new JTextField(20);

GridBagConstraints gbc = new GridBagConstraints();
//gbc.ipadx = 100;
//gbc.weightx = 1.0f;

JPanel content = new JPanel( new GridBagLayout() );
content.add(textField, gbc);

frame.setContentPane( content );

如果您仍然遇到问题,请发布正确的 SSCCE这表明了这种行为。即用单个组件创建一个框架。仅使用 ipadx 进行测试,然后使用weightx,最后使用两个约束进行测试,您将看到差异。

关于java - 区分GridBagConstraints中的weightx和ipadx (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34462619/

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