Java GridBagLayout不填充区域

Java GridBagLayout不填充区域,java,swing,layout,layout-manager,gridbaglayout,Java,Swing,Layout,Layout Manager,Gridbaglayout,我在主内容窗格中插入了一个组件,由于某些原因,它没有填充该区域 getInstance().add(internalPanel, LayoutFactory.newFactory().setX(1).setY(1). setWeightX(1).setWeightY(1).setFill(GridBagConstraints.BOTH)); 我专门为GridBagLayout创建了LayoutFactory,它只设置属性并返回对象 基本上,问题在于,当我将组件添加到内容

我在主内容窗格中插入了一个组件,由于某些原因,它没有填充该区域

getInstance().add(internalPanel, LayoutFactory.newFactory().setX(1).setY(1).
            setWeightX(1).setWeightY(1).setFill(GridBagConstraints.BOTH));
我专门为
GridBagLayout
创建了
LayoutFactory
,它只设置属性并返回对象

基本上,问题在于,当我将组件添加到内容窗格时,它并没有填充专门用于它的空间。它取绝对最小值,就好像
weightX
weightY
被设置为0。我已经尝试过
setAnchor(GridBagConstraints.FIRST\u LINE\u START)
setAnchor(GridBagConstraints.NORTHWEST)
。两者都不会对程序产生任何可见的影响

另外,当我设置组件的边界时,它只填充部分空间,因此我添加到其中的组件没有问题

值得注意的是,组件显示在空间的中心,并且不跟随锚点。从中,我发现我的问题是
weightX
weightY
属性。查看内容窗格的其他组件,会在每个组件上设置权重

getInstance().add(MainFrame.buttons, LayoutFactory.newFactory().setX(0).setY(1).
            setWeightY(1).setWeightX(0).setFill(GridBagConstraints.BOTH));

当然,其他地方可能出了问题,但我不想用文字淹没这篇文章。如果你需要更多的信息来解决这个问题,我非常乐意提供。希望这是有道理的。我已经使用了
GridBagLayout
一段时间了,我从来没有遇到过这样的事情

编辑:发现问题存在于其他地方,因为制作一个小示例程序效果很好。因为我有点困惑,所以不要担心它的实际功能,我只关心工作负载面板没有填满空间。

问题的解决方案:


正在向没有布局管理器的
InternalPanel
type对象添加组件。(默认为flowLayout)

考虑创建并发布一个,以便我们可以运行和操作您的代码。我是否正确理解您将权重设置为0?是的。嗯,我想问题出在其他地方,因为当我制作sscce时,它工作得非常好。我认为您需要进行更多的调试,以至少隔离错误,这样,如果您无法修复错误,您就可以发布您的sscce。这就是我将要做的。无论如何,谢谢你的帮助。为什么这是个问题?请充分解释这是如何帮助/解决问题的。
getInstance().add(panel, LayoutFactory.newFactory().setX(0).setY(0).setWidth(2)
            .setWeightX(1).setWeightY(0).setAnchor(GridBagConstraints.FIRST_LINE_START)
            .setFill(GridBagConstraints.NONE));