【发布时间】:2020-09-10 16:27:02
【问题描述】:
我正在使用 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 一直在顶部,而没有那个差距?
【问题讨论】:
-
gridbaglayout 本身并不支持重叠组件。我建议您尝试使用 JLayeredPane 的模态层,或者在 GridBagLayout 内的 JPanel 上使用 CardLayout
-
我正在使用 GridBagLayout - 在哪里?在框架上?我没有看到您设置布局管理器或将组件添加到框架的任何代码。为每个问题发布正确的minimal reproducible example,这样我们就不必准确猜测您在做什么。
标签: java swing jframe jpanel gridbaglayout