如何在JPanel中垂直居中对齐JScrollPane?

时间:2012-01-04 13:57:22

标签: java swing jpanel

我有一个带有GridLayout的JPanel,包含1行和2列。

在第一列中,我有一个由Jpanel和Jtree组成的JPanel。 在第二列中,我有一个由JTable组成的JScrollPane。

如何将JscrollPAne居中对齐以显示垂直居中对齐?目前,它显示在顶部,而不是在中心。

这是一张图片:enter image description here

2 个答案:

答案 0 :(得分:2)

第2列中的JScrollPane,您需要使用JPanel进行换行。然后,您需要为新JPanel设置布局管理器。我可能会使用GridBagLayout,因为它可以让您获得更精确的控制,并且您可以实现所需的垂直居中。

您必须在包装器JPanel中添加假JPanel以填写您要查找的空白区域。

总之,你将拥有: JPanel GridLayout(1行,2列)

第1栏:

  • JTree

第2栏:

    然后持有JPanel
  • GridBagLayout
    • JPanelGridBagConstraints(对于whitspace)
    • JScrollPaneGridBagConstraints

如果您还想要空格,可能需要在JPanel下方添加另一个JScrollPane。我不是100%肯定你在寻找什么。使用GridBagConstraints,您可以精确控制布局。

答案 1 :(得分:1)

有一个布局管理器可以保存你:)在第二列中,使用一个带GridBagLayout的面板,并将JScrollPane插入面板,你可以使用GridBagConstraints指定面板中组件的位置。

有关详情,请参阅此处:How to Use GridBagLayout