如何让动态JPanel贴在顶部?

问题描述 投票:0回答:1

我在使用GridBagLayout,JPanel 2似乎总是在JPanel 1的中心。JPanel 2的高度在整个程序中都会进行调整,所以我不能用以下方法把它贴到顶部。gbc.insets.top = -15; (gbc = GridBagConstraints)为例。我已经尝试过 gbc.anchor = GridBagConstraints.PAGE_START;gbc.gridheight = 3; 但它们似乎并没有达到我想要的效果。

假设JPanel 1和JFrame保持相同的大小,(JFrame是不可调整大小的),我怎样才能使JPanel 2一直在顶部,而没有那个间隙呢?

enter image description here

java swing jframe jpanel gridbaglayout
1个回答
1
投票

JPanel 2似乎总是在JPanel 1的中心。

那么你似乎是将panel1添加到panel2中,因为GridBagLayout的默认行为是将组件相对于其父体居中。

根据图片所示,只需使用 BorderLayout (这是默认的)。然后你会

  1. 将panel2添加到... BorderLayout.LINE_START
  2. 添加面板1到 BorderLayout.CENTER

阅读Swing教程中的以下部分 如何使用BorderLayout 更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.