【发布时间】:2012-02-02 10:12:50
【问题描述】:
我有一个 JPanel,其 GridLayout 由 1 行和 2 列组成。
在第一列中,我有一个 JPanel,它由一个 Jpanel 和一个 Jtree 组成。 在第二列中,我有一个由 JTable 组成的 JScrollPane。
如何使 JscrollPAne 居中对齐以显示垂直居中对齐?目前,它显示在顶部而不是中心。
这是一张图片:
【问题讨论】:
我有一个 JPanel,其 GridLayout 由 1 行和 2 列组成。
在第一列中,我有一个 JPanel,它由一个 Jpanel 和一个 Jtree 组成。 在第二列中,我有一个由 JTable 组成的 JScrollPane。
如何使 JscrollPAne 居中对齐以显示垂直居中对齐?目前,它显示在顶部而不是中心。
这是一张图片:
【问题讨论】:
第二列中的JScrollPane 需要用JPanel 包裹起来。然后你需要为新的JPanel 设置一个布局管理器。我可能会使用GridBagLayout,因为它可以为您提供更精确的控制,并且您可以使用它实现所需的垂直居中。
您必须在包装器 JPanel 中添加一个伪造的 JPanel 以填充您要查找的空白。
简而言之,您将拥有:
JPanel 和 GridLayout(1 行 2 列)
第 1 列:
JTree第 2 栏:
JPanel 和 GridBagLayout 然后保持:
JPanelwith GridBagConstraints(用于 whitspace)JScrollPane 与 GridBagConstraints
如果您还想在下面添加空格,您可能需要在JScrollPane 下方添加另一个JPanel。我不是 100% 确定你在寻找什么。使用GridBagConstraints,您可以精确控制布局。
【讨论】:
有一个布局管理器帮你省了:)在第二列中,使用带有GridBagLayout的面板,并将JScrollPane插入面板,您可以使用GridBagConstraints指定面板中组件的位置。
更多信息请参见:How to Use GridBagLayout
【讨论】: