如何在 JPanel 中垂直居中对齐 JScrollPane?
我有一个 JPanel,其 GridLayout 由 1 行和 2 列组成。
在第一列中,我有一个由 Jpanel 和 Jtree 组成的 JPanel。 在第二列中,我有一个由 JTable 组成的 JScrollPane。
如何居中对齐 JscrollPAne 以使其垂直居中对齐?目前,它显示在顶部而不是中心。
这是一个图像:
I have a JPanel with a GridLayout consisting of 1 row and 2 Columns.
Inside the first column, I have a JPanel consisting of a Jpanel and a Jtree.
Inside the second column, I have a JScrollPane consisting of a JTable.
How can I center-align the JscrollPAne to appear vertically center-aligned? currently, It is showing at the top and not at the center.
Here is an image:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于第二列中的
JScrollPane
,您需要用JPanel
包装它。然后,您需要为新的JPanel
设置布局管理器。我可能会使用 GridBagLayout ,因为它可以为您提供更精确的控制,并且您可以使用它实现您想要的垂直居中。您必须在包装器
JPanel
中添加一个假的JPanel
来填充您要查找的空白。简而言之,您将拥有:
JPanel
与GridLayout
(1 行,2 列)第 1 列:
JTree
第 2 列:
JPanel
与GridBagLayout
然后保存:JPanel
和GridBagConstraints
(用于空白空间)JScrollPane
和GridBagConstraints
您可能需要添加另一个
JPanel
位于JScrollPane
下方(如果您也希望那里有空白)。我不是 100% 确定你在寻找什么。使用GridBagConstraints
,您可以精确控制布局。You for your
JScrollPane
in the 2nd column, you will need to wrap it with aJPanel
. Then you will need to set a layout manager for the newJPanel
. I would probably useGridBagLayout
as it gives you more precise control and you can achieve the vertical centering you desire with it.You will have to add a fake
JPanel
into the wrapperJPanel
to fill in the whitespace you are looking for.So in short you will have:
JPanel
withGridLayout
(1 row, 2 columns)Column 1:
JTree
Column 2:
JPanel
withGridBagLayout
which then holds:JPanel
withGridBagConstraints
(for whitspace)JScrollPane
withGridBagConstraints
You might need to add another
JPanel
below theJScrollPane
if you want whitespace down there too. I'm not 100% sure what your looking for. With theGridBagConstraints
you can precisely control the layout.有一个布局管理器可以拯救你:) 在第二列中,使用带有
GridBagLayout
的面板,并将 JScrollPane 插入面板中,您可以使用 GridBagConstraints 指定面板中组件的位置。有关详细信息,请参阅此内容:如何使用 GridBagLayout
There is a Layout manager to save you :) Inside the second column, use a panel with
GridBagLayout
, and insert the JScrollPane into the panel, you can specify the position of components in panel using GridBagConstraints.See this for more information : How to Use GridBagLayout