GridBagLayout

来源:百度知道 编辑:UC知道 时间:2024/05/10 18:09:57
问题如下,给源码,回答正确追加一百分

在JFrame 里有四个铵钮,要布局为:
**********************************
* * *
* * *
* * *
* * *
* * *
* * *
* * *
* * *
* **************
********************* *
* * *
* * *
* * *
* * *
* * *
**********************************

每个区域看作一个铵钮,不一定很精确,左右比例为3:2,左边上下比例为2:1,右边上下比例为3:2,不一定要是JFrame, 也不一定要是铵钮,什么控件都可以,只要弄出上面的比例就可以
不好意思,回答正确追加五十分,那是最高分了,题目有点不清楚,JFrame添加四个控件,四个控件的分布像'田"字,但是:左右高度一样,左右宽度比例3:2,左边上下两个口高度比例为2:1,右边上下两个口高度比例为3:2

你说的那种比例,如果不另外加panel 实现起来就是大罗神仙也够呛啊。我试过不加panel,但是怎么调,它们总是粘一起,比例也没法各自调整。还好你的例子是左右两大部分是垂直对齐的,我额外加了两个panel,即是左右两个panel,然后每个panel里各放上下两个控件,才得以实现你的所有比例。我做了个截图,随便找了个贴图网站上传了,下面是链接,你看看效果。也可以直接运行我的代码
http://p14.freep.cn/p.aspx?u=v20_p14_p_0711281435409750_0.bmp

我的代码:
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class GridBagFrame extends JFrame{
private void initUI(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400, 400);
this.getContentPane().add(getMainPanel());
this.setVisible(true);
}
public GridBagFrame(){
initUI();
}
private JPanel getLeftPanel(){
JPanel panel = new JPanel();
panel.setLayout(new GridBagLay