📄 gridbaglayoutdemo.java
字号:
//这是GridBagLayout的一个实例
import java.awt.*;
import javax.swing.*;
public class GridBagLayoutDemo extends JFrame
{
JPanel p1;
Canvas c;
Choice cb;
TextArea ta;
JTextField tf;
JButton b1, b2, b3;
GridBagLayout gbl;
GridBagConstraints gbc;
public GridBagLayoutDemo()
{
p1=new JPanel();
gbl=new GridBagLayout();
p1.setLayout(gbl);
gbc= new GridBagConstraints();
ta = new TextArea("这是文本域", 5, 10);
cb = new Choice();
cb.addItem("刘津");
cb.addItem("刘志成");
cb.addItem("王咏梅");
tf = new JTextField("这是文本框");
b1 = new JButton("按钮 1");
b2 = new JButton("按钮 2");
b3 = new JButton("按钮 3");
c = new Canvas();
c.setBackground(Color.blue);
c.setSize(10, 5);
// 布局textarea
gbc.weightx = 0;
gbc.weighty = 0;
gbc.fill = GridBagConstraints.BOTH;
addComponent(ta, gbl, gbc, 0, 0, 1, 3);
// 布局按钮b1
gbc.fill = GridBagConstraints.HORIZONTAL;
addComponent(b1, gbl, gbc, 0, 1, 2, 1);
// 布局choice
addComponent(cb, gbl, gbc, 2, 1, 2, 1);
// 布局按钮b2
gbc.weightx = 1000;
gbc.weighty = 1;
gbc.fill = GridBagConstraints.BOTH;
addComponent(b2, gbl, gbc, 1, 1, 1, 1);
// 布局按钮b3
gbc.weightx = 0;
gbc.weighty = 0;
gbc.fill = GridBagConstraints.BOTH;
addComponent(b3, gbl, gbc, 1, 2, 1, 1);
// 布局文本框tf
addComponent(tf, gbl, gbc, 3, 0, 2, 1);
// 布局画布c
addComponent(c, gbl, gbc, 3, 2, 1, 1);
setContentPane(p1);
setTitle("网格袋布局演示");
setSize(250, 150);
setVisible(true);
}
//添加组件方法
private void addComponent(Component c, GridBagLayout g,
GridBagConstraints gc, int row, int column, int width, int height)
{
gc.gridx = column;
gc.gridy = row;
gc.gridwidth = width;
gc.gridheight = height;
g.setConstraints(c, gc);
p1.add(c);
}
public static void main(String args[])
{
GridBagLayoutDemo demo = new GridBagLayoutDemo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -