我在使用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一直在顶部,而没有那个间隙呢?
JPanel 2似乎总是在JPanel 1的中心。
那么你似乎是将panel1添加到panel2中,因为GridBagLayout的默认行为是将组件相对于其父体居中。
根据图片所示,只需使用 BorderLayout
(这是默认的)。然后你会
BorderLayout.LINE_START
BorderLayout.CENTER
阅读Swing教程中的以下部分 如何使用BorderLayout 更多信息。