Java 如何设置;“列权重”;及;“行重”;对于NetBeans中的GridBagLayout?

Java 如何设置;“列权重”;及;“行重”;对于NetBeans中的GridBagLayout?,java,swing,netbeans,Java,Swing,Netbeans,如果我错过了一些愚蠢的事情,我道歉。。。但我正在试验NetBean的WYSIWYG Swing GUI builder,在GridBagLayout方面遇到了一些问题 当从头开始编写Swing应用程序时,我通常会在第一次声明布局时一次性确定列和行的权重。大概是这样的: final JPanel myContainer = new JPanel(); GridBagLayout gbl = new GridBagLayout(); gbl.columnWeights = new double[]{

如果我错过了一些愚蠢的事情,我道歉。。。但我正在试验NetBean的WYSIWYG Swing GUI builder,在GridBagLayout方面遇到了一些问题

当从头开始编写Swing应用程序时,我通常会在第一次声明布局时一次性确定列和行的权重。大概是这样的:

final JPanel myContainer = new JPanel();
GridBagLayout gbl = new GridBagLayout();
gbl.columnWeights = new double[]{0.0f, 0.0f, 1.0f};
gbl.rowWeights = new double[]{0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f};
myContainer.setLayout(gbl);

然而,在使用NetBeans所见即所得生成器时,我还没有找到一种干净的方法来访问GridBayLayout的“columnWeights”和“rowWeights”成员变量。开发人员如何使用NetBeans builder实现这一点?

哇,与“Eclipse”标签相比,StackOverflow上的NetBeans不太受欢迎!无论如何,在花了一整天的时间浏览各种讨论板并与更有经验的用户交谈之后。。。显然,NetBeans的WYSIWYG Swing builder并没有公开这两个GridBagLayout属性。此外,GridBagLayout对象完全封装在自动生成的代码块中,因此在其中添加的任何自定义代码都将被覆盖

最接近“答案”的是,与其将权重值应用于所有列或行,不如。。。您可以通过在每个列或行中的任意随机组件上设置这些值来设置列或行的权重


在我上面的代码片段中。。。我在面板的左侧有一堆小组件,在右侧有一个非常大的组件,我想填满所有的空间。只需将该组件的“weightx”和“weighty”设置为“1.0”,而将所有其他组件的“weightx”和“weighty”设置为“0.0”,就可以获得相同的结果。

哇,与“Eclipse”标记相比,在StackOverflow上没有多少NetBeans喜欢!无论如何,在花了一整天的时间浏览各种讨论板并与更有经验的用户交谈之后。。。显然,NetBeans的WYSIWYG Swing builder并没有公开这两个GridBagLayout属性。此外,GridBagLayout对象完全封装在自动生成的代码块中,因此在其中添加的任何自定义代码都将被覆盖

最接近“答案”的是,与其将权重值应用于所有列或行,不如。。。您可以通过在每个列或行中的任意随机组件上设置这些值来设置列或行的权重


在我上面的代码片段中。。。我在面板的左侧有一堆小组件,在右侧有一个非常大的组件,我想填满所有的空间。只需将该组件的“weightx”和“weighty”设置为“1.0”,而将所有其他组件的“weightx”和“weighty”设置为“0.0”,就可以获得相同的结果。

看看NetBeans 7,他们刚刚对其进行了大修。

看看NetBeans 7,他们刚刚对其进行了大修