import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class Window extends JFrame implements ActionListener {
// 建立标签
protected JLabel labelnum, labelname, labelage, labelsex, labelximing,
labeltelephone, labelemall;
// 建立文本
protected JTextField txtnum;
protected JTextField txtname;
protected JTextField txtage;
protected JTextField txtsex;
protected JTextField txtximing;
protected JTextField txttelephone;
protected JTextField txtemall;
protected JTable tblInfo;
// 建立按扭
protected JButton inquires, record;
// 表头
private Vector
public Window() {
super("学生信息查询系统");
// 定义标签
labelnum = new JLabel("学号");
labelname = new JLabel("姓名");
labelage = new JLabel("年龄");
labelsex = new JLabel("性别");
labelximing = new JLabel("系名");
labeltelephone = new JLabel("电话");
labelemall = new JLabel("emall地址");
// 定义文本
txtnum = new JTextField(10);
txtname = new JTextField(8);
txtage = new JTextField(5);
txtsex = new JTextField(6);
txtximing = new JTextField(10);
txttelephone = new JTextField(10);
txtemall = new JTextField(10);
// 定义按扭
inquires = new JButton("学号查询");
record = new JButton("全部记录");
// 定义表格
vecColName = new Vector
vecColName.add("学号");
vecColName.add("姓名");
// 自己添加
vecColName.add("email地址");
tblInfo = new JTable();
initTable(null);
JScrollPane jspTable = new JScrollPane();
jspTable.getViewport().add(tblInfo, null);
// 布局管理
Container c = getContentPane();
c.setLayout(new FlowLayout());
// 定义面板
JPanel p1, p2, p3;
// 把标签,文本加入到窗口中
p1 = new JPanel();
c.add(p1);
p1.add(labelnum);
p1.add(txtnum);
p1.add(labelname);
p1.add(txtname);
p1.add(labelage);
p1.add(txtage);
p1.add(labelsex);
p1.add(txtsex);
p2 = new JPanel();
c.add(p2);
p2.add(labelximing);
p2.add(txtximing);
p2.add(labeltelephone);
p2.add(txttelephone);
p2.add(labelemall);
p2.add(txtemall);
p3 = new JPanel();
c.add(p3);
p3.add(inquires);
p3.add(record);
c.add(jspTable);
// 注册按扭事件监听器
inquires.addActionListener(this);
record.addActionListener(this);
this.setSize(550, 600); // 设置窗口大小
this.setVisible(true); // 显示窗口
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口
}
public void actionPerformed(ActionEvent e) {
// 查询数据库,整理数据格式,以下演示数据结构
Vector
for (int i = 0; i < 20; i++) { // 行
Vector
for (int j = 100; j < 103; j++) { // 列
vecCol.add(i + " " + j);
}
vecData.add(vecCol); // 添加一行数据
}
initTable(vecData);
}
/**
* 初始化表格
*
* @param vec
*/
private void initTable(Vector
DefaultTableModel model = null;
if (vec == null || vec.size() == 0) {
model = new DefaultTableModel(vecColName, 0);
} else {
model = new DefaultTableModel(vec, vecColName);
}
tblInfo.setModel(model);
}
public static void main(String args[]) {
new Window();
}
}