📄 guidemo6.java
字号:
//Example 5 of Chapter 5
import java.awt.*;
import javax.swing.*;
public class GUIDemo6 extends JFrame
{
public static void main(String args[])
{
JFrame jf = new JFrame("GridBagLayout布局管理器演示");
JPanel container = new JPanel();
jf.setContentPane(container);
GridBagLayout gridbag = new GridBagLayout();
container.setLayout(gridbag);
GridBagConstraints c = new GridBagConstraints();
JButton jb[] = new JButton[14];
String s[] = {"第一","第二","第三","第四","第五","第六","第七",
"第八","第九","第十","第十一","第十二","第十三","第十四"};
for(int i=0;i<jb.length;i++)jb[i] = new JButton(s[i]);
//在水平方向和垂直方向上同时调整组件大小
c.fill = GridBagConstraints.BOTH;
//令所有的列的权重均为1.0
c.weightx = 1.0;
//以缺省值定义三个按钮的位置和大小
gridbag.setConstraints(jb[0], c);
container.add(jb[0]);
gridbag.setConstraints(jb[1], c);
container.add(jb[1]);
gridbag.setConstraints(jb[2], c);
container.add(jb[2]);
//将"第四"按钮定义为该行中的最后一个组件
c.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints(jb[3], c);
container.add(jb[3]);
//定义"第五"按钮的宽为2,高为2
c.gridwidth = 2;
c.gridheight = 2;
gridbag.setConstraints(jb[4], c);
container.add(jb[4]);
//定义"第六"按钮的宽为4,高为1
c.gridwidth = GridBagConstraints.REMAINDER;
c.gridheight = 1;
gridbag.setConstraints(jb[5], c);
container.add(jb[5]);
//定义"第七"按钮的宽为3,位置由参数确定
c.gridwidth = 3;
c.gridx = 2;
c.gridy = 2;
gridbag.setConstraints(jb[6], c);
container.add(jb[6]);
//定义"第八"按钮的宽为1,位置由参数确定
c.gridwidth = 1;
c.gridx = 5;
c.gridy = 2;
gridbag.setConstraints(jb[7], c);
container.add(jb[7]);
//定义"第九"按钮的宽为3,高为3,位置由参数确定
c.gridwidth = 3;
c.gridheight = 3;
c.gridx = 0;
c.gridy = 3;
gridbag.setConstraints(jb[8], c);
container.add(jb[8]);
//定义按钮的宽为1,高为1
c.gridwidth = 1;
c.gridheight = 1;
c.gridx = 3;
c.gridy = 3;
gridbag.setConstraints(jb[9], c);
container.add(jb[9]);
c.gridx = 4;
c.gridy = 3;
gridbag.setConstraints(jb[10], c);
container.add(jb[10]);
c.gridx = 5;
c.gridy = 3;
gridbag.setConstraints(jb[11], c);
container.add(jb[11]);
//定义按钮的宽为3
c.gridwidth = 3;
c.gridx = 3;
c.gridy = 4;
gridbag.setConstraints(jb[12], c);
container.add(jb[12]);
c.gridx = 3;
c.gridy = 5;
gridbag.setConstraints(jb[13], c);
container.add(jb[13]);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -