【问题标题】:How to vertically center align a JScrollPane in a JPanel?如何在 JPanel 中垂直居中对齐 JScrollPane?
【发布时间】:2012-02-02 10:12:50
【问题描述】:

我有一个 JPanel,其 GridLayout 由 1 行和 2 列组成。

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

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

这是一张图片:

【问题讨论】:

    标签: java swing jpanel


    【解决方案1】:

    第二列中的JScrollPane 需要用JPanel 包裹起来。然后你需要为新的JPanel 设置一个布局管理器。我可能会使用GridBagLayout,因为它可以为您提供更精确的控制,并且您可以使用它实现所需的垂直居中。

    您必须在包装器 JPanel 中添加一个伪造的 JPanel 以填充您要查找的空白。

    简而言之,您将拥有: JPanelGridLayout(1 行 2 列)

    第 1 列:

    • JTree

    第 2 栏:

    • JPanelGridBagLayout 然后保持:
      • JPanelwith GridBagConstraints(用于 whitspace)
      • JScrollPaneGridBagConstraints

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

    【讨论】:

    • 感谢您的回答。但我选择了 Sanjay 的答案,因为它是最先发布的 :)
    【解决方案2】:

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

    更多信息请参见:How to Use GridBagLayout

    【讨论】:

      猜你喜欢
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 2013-09-10
      • 2012-01-27
      • 2012-10-09
      相关资源
      最近更新 更多