我正在尝试使用GridBagLayout将两个JPanel放到JFrame上 . 第一个JPanel使用gridLayout创建35列和27行JButton,宽度应为JFrame的3/4 . 该面板需要填充可用的垂直空间 . 第二个JPanel也使用gridLayout,并应填充主JFrame的最后1/4 .
不幸的是,我的第一个JPanel(sPan)甚至没有在屏幕上正确安装,并且迫使整个第二个JPanel(cPan)离开屏幕 . 如何约束这些值,使其只占用屏幕上允许的比例,而不会相互移动?
如果我使用带有背景颜色的空白JPanel和我的代码,一切都很好:
Blank JPanel proportions http://i61.tinypic.com/1o7yo5.png [1]
但是,当我使用由JButton组成的JPanel时,比例会完全混乱:
JButtons JPanel proportions http://i58.tinypic.com/34td1r9.png [2]
我推测当我实例化我的sPan对象时,它会调整每个按钮的大小以适应整个JFrame的大小 . 然后,当我实例化cPan对象并尝试将其放在sPan对象旁边时,按钮不会调整自身大小以适应主JFrame中的其他面板 . 有谁知道我怎么解决这个问题?
我必须使用GridBagLayout进行此分配,因此使用普通的gridLayout不是一个选项 . 有关正在发生的事情的任何提示将不胜感激 .
1 回答
你能简单地处理 two columns 吗?第一个 taking 5/6 of the available width 和第二个 the 1/6th remaining ?
您可以尝试以下方法:
请注意:我用 background color 替换了你的
JPanels
,所以即使这样,你也可以看到发生了什么 .