JavaSwingUI组件布局问题

JavaSwingUI组件布局问题,java,swing,jpanel,layout-manager,gridbaglayout,Java,Swing,Jpanel,Layout Manager,Gridbaglayout,我正在研究JavaSwing,我被UI布局困住了 我的电流输出如下。标签6后面的文本区域正在缩小,下一个面板就在它旁边。 我想要的是面板应该位于下一行,文本区域应该与组合框大小相同 当前显示 预期显示 更换以下线路: gbl.setConstraints(jTextArea1, gbc); jpOPanel.add(jspane); 与 您需要设置要添加到jpOPanel的组件的GridBagConstraints,在这种情况下,该组件是JScrollPanel。非常感谢,先生,它起了

我正在研究JavaSwing,我被UI布局困住了

我的电流输出如下。标签6后面的文本区域正在缩小,下一个面板就在它旁边。 我想要的是面板应该位于下一行,文本区域应该与组合框大小相同

当前显示

预期显示 更换以下线路:

 gbl.setConstraints(jTextArea1, gbc);
 jpOPanel.add(jspane);


您需要设置要添加到
jpOPanel
的组件的
GridBagConstraints
,在这种情况下,该组件是
JScrollPanel

非常感谢,先生,它起了作用。但在我的内部面板中,复选框和其他两个组件位于同一行。我想要的是复选框应该在第一行,第二行是标签和复选框。两者都应与内部面板边框对齐。有关详细信息,请参阅原始帖子中的图片reference@pankti首先,您需要将
jInnerPanel
的布局管理器设置为
gridbagloate
,您可以通过
jInnerPanel.setLayout(new gridbagloayout())
来实现这一点。其次,好的做法是每个
JComponent
都有自己的
GridBagConstraint
。如果你用正确的
gridx
gridy
值为你的
jCheckBox1
jlabel7
jcombox4
这样做,你应该会得到你所期望的。感谢莱基利先生的时间和回复。接受答案的电话很好。它有助于人们在将来找到有用的信息(例如,当我搜索答案时,通常会跳过任何缺少公认答案的问题)。:)
 gbl.setConstraints(jTextArea1, gbc);
 jpOPanel.add(jspane);
jspane.setViewportView(jTextArea1);
jpOPanel.add(jspane, gbc);