您的位置:首页 > 编程语言

Swing代码分析(布局-GridLayout)

2010-02-21 11:16 387 查看
]package nau.ui;

import java.awt.FlowLayout;
import java.awt.GraphicsConfiguration;
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
* 功能:
*
* @author wzj
*
*/
public class SwingLayoutGLTestTool extends JFrame implements ActionListener {

// 创建JPanel对象
private JPanel jp = new JPanel();

// 创建按扭数组
private JButton[] jbArray = new JButton[13];

public SwingLayoutGLTestTool() {
// 初始化数组
for (int i = 2; i < jbArray.length; i++) {
jbArray[i] = new JButton("按纽" + (i - 1));
}
// 为钱两个按扭设置显示的文本
jbArray[0] = new JButton("流布局");
jbArray[1] = new JButton("网格布局");
// 将依次将按扭添加进JPanel
for (int i = 0; i < jbArray.length; i++) {
jp.add(jbArray[i]);
// 当按扭为jbArray[0]或者jbArray[1]时为其注册监听器
if (i < 2) {
jbArray[i].addActionListener(this);
}
}
// 将JPanel添加进窗体
this.add(jp);
// 设置窗体的标题、大小位置以及可见性
this.setTitle("流布局与网格布局--现在为流布局");
this.setBounds(100, 100, 450, 200);
this.setVisible(true);
}

/*
* (非 Javadoc)
*
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jbArray[0]) {
// 设置布局管理器为流布局
jp.setLayout(new FlowLayout());
// 重新设置窗体标题
this.setTitle("流布局与网格布局--现在为流布局");
// 请求刷新JPanel
jp.revalidate();
}
// 当点击的按扭是jbArray[1]时
else if (e.getSource() == jbArray[1]) {
// 设置布局管理器为3行5列的网格布局
jp.setLayout(new GridLayout(3, 5));
// 重新设置窗体标题
this.setTitle("流布局与网格布局--现在为网格布局[3,5]");
// 请求刷新JPanel
jp.revalidate();
}

}

/**
*
* @param args
*/
public static void main(String[] args) {
new SwingLayoutGLTestTool();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: