gridbaglayoutdemo.java

来自「JAVA的一些基础教程」· Java 代码 · 共 59 行

JAVA
59
字号
import java.awt.*;
import java.awt.event.*;

public class GridBagLayoutDemo
    extends Panel {
  private void makebutton(String name, GridBagLayout gridbag,
                          GridBagConstraints c) {
    Button button = new Button(name);
    gridbag.setConstraints(button, c);
    add(button);
  }

  public void init() {
    GridBagLayout gridbag = new GridBagLayout();
    GridBagConstraints c = new GridBagConstraints();

    setLayout(gridbag);
    c.fill = GridBagConstraints.BOTH;
    c.weightx = 1.0;

    makebutton("Button1", gridbag, c);
    makebutton("Button2", gridbag, c);
    makebutton("Button3", gridbag, c);

    c.gridwidth = GridBagConstraints.REMAINDER;
    makebutton("Button4", gridbag, c);

    c.weightx = 0.0;
    makebutton("Button5", gridbag, c);
    c.gridwidth = GridBagConstraints.RELATIVE;

    makebutton("Button6", gridbag, c);
    c.gridwidth = GridBagConstraints.REMAINDER;

    makebutton("Button7", gridbag, c);
    c.gridwidth = 1;
    c.gridheight = 2;
    c.weighty = 1.0;

    makebutton("Button8", gridbag, c);
    c.weighty = 0.0;
    c.gridwidth = GridBagConstraints.REMAINDER;
    c.gridheight = 1;

    makebutton("Button9", gridbag, c);
    makebutton("Button10", gridbag, c);
    resize(300, 100);
  }

  public static void main(String args[]) {
    Frame f = new Frame("GridBagLayout Example");
    GridBagLayoutDemo demo = new GridBagLayoutDemo();
    demo.init();
    f.add(BorderLayout.CENTER, demo);
    f.pack();
    f.show();
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?