java 定义一个类Layout继承自Frame类,使用网格包布局管理器,创建几个按钮以不同的占位分布, 编写Example06类,创建Layout类的实例
时间: 2024-03-12 21:44:16 浏览: 24
好的,以下是使用AWT库实现的Java代码:
```java
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
public class Layout extends Frame {
public Layout() {
setTitle("Layout Example");
setLayout(new GridBagLayout()); // 设置网格包布局
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(5, 5, 5, 5); // 设置组件之间的间距
Button button1 = new Button("Button 1");
Button button2 = new Button("Button 2");
Button button3 = new Button("Button 3");
Button button4 = new Button("Button 4");
Button button5 = new Button("Button 5");
gbc.gridx = 0;
gbc.gridy = 0;
add(button1, gbc);
gbc.gridx = 1;
add(button2, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.gridwidth = 2;
add(button3, gbc);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.gridwidth = 1;
gbc.gridheight = 2;
add(button4, gbc);
gbc.gridx = 1;
gbc.gridheight = 1;
add(button5, gbc);
pack(); // 自动调整窗口大小
}
public static void main(String[] args) {
Layout layout = new Layout();
layout.setVisible(true);
}
}
```
这个程序创建了一个名为`Layout`的类,该类继承自`Frame`类,并使用网格包布局管理器。`Layout`类有一个无参构造函数,用于创建并分配不同占位的按钮。`main`方法创建了一个`Layout`实例,并显示窗口。在`GridBagConstraints`中设置`gridx`和`gridy`属性可以指定组件在网格中的位置,设置`gridwidth`和`gridheight`属性可以指定组件跨越的行数和列数。