- Swing 编程例子
- 例子 - 主页
- 例子 - 环境设置
- 例子 - 边框
- 例子 - 按钮
- 例子 - 复选框
- 例子 - 组合框
- 例子 - 颜色选择器
- 例子 - 对话框
- 例子 - 编辑器面板
- 例子 - 文件选择器
- 例子 - 格式文本字段
- 例子 - 框架
- 例子 - 列表
- 例子 - 布局
- 例子 - 菜单
- 例子 - 密码字段
- 例子 - 进度条
- 例子 - 滚动面板
- 例子 - 滑块
- 例子 - 微调器
- 例子 - 表格
- 例子 - 工具栏
- 例子 - 树
- Swing 有用资源
- Swing - 快速指南
- Swing - 有用资源
- Swing - 讨论
Swing 例子 - 网格包布局
这是最灵活的布局管理器类。GridBagLayout 的对象按垂直、水平或与基线对齐组件,而不要求组件具有相同的尺寸。
例子
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class SwingTester {
public static void main(String[] args) {
createWindow();
}
private static void createWindow() {
JFrame frame = new JFrame("Swing Tester");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
createUI(frame);
frame.setSize(560, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private static void createUI(final JFrame frame){
JPanel panel = new JPanel();
GridBagLayout layout = new GridBagLayout();
panel.setLayout(layout);
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 0;
gbc.gridy = 0;
panel.add(new JButton("Button 1"),gbc);
gbc.gridx = 1;
gbc.gridy = 0;
panel.add(new JButton("Button 2"),gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.ipady = 20;
gbc.gridx = 0;
gbc.gridy = 1;
panel.add(new JButton("Button 3"),gbc);
gbc.gridx = 1;
gbc.gridy = 1;
panel.add(new JButton("Button 4"),gbc);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridwidth = 2;
panel.add(new JButton("Button 5"),gbc);
frame.getContentPane().add(panel, BorderLayout.CENTER);
}
}
输出
swingexamples_layouts.htm
广告