//自己建个access数据库——“学生管理数据库”,创建表“学生信息表”,列名:学号,姓名,性别,民族,年龄,年级,班级,专业,其中年龄
//字段类型设置成数字。否则按年龄查询时会出错!
import java.net.URL;
import javax.swing.ImageIcon;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;
import javax.swing.JOptionPane;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import java.sql.*;
import java.awt.GridLayout;
public class myStudent {
public myStudent() {
}
public static void main(String[] args) {
loginFrame lf=new loginFrame();
lf.setVisible(true);
lf.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
//主界面
class mainFrame extends JFrame implements ActionListener{
//创建对象
MenuBar myMenuBar=new MenuBar(); //菜单栏
Menu myMenuFile,myMenuEdit,myMenuUser; //下拉菜单组件
MenuItem miNew,miOpen,miSave,miSaveAs,miExit;
MenuItem miAdd,miEdit,miDel,miFind,miShow,miUser; //菜单元素
public JTable table = new JTable(); //二维表
public DefaultTableModel mm ; //表模板 动态显示表格内容
//构造函数
public mainFrame(){
myMenuFile=new Menu("文件");
miNew=new MenuItem("新建");
miOpen=new MenuItem("打开");
miSave=new MenuItem("保存");
miExit=new MenuItem("退出"); //给菜单组件添加实际菜单项
myMenuFile.add(miExit); //给“文件”菜单组件添加“退出”子菜单
myMenuEdit=new Menu("数据编辑");
miFind=new MenuItem("查找数据");
miAdd=new MenuItem("添加数据");
miEdit=new MenuItem("修改数据");
miDel=new MenuItem("删除数据");
miShow=new MenuItem("全部显示"); //给子菜单添加标签
myMenuEdit.add(miFind);
myMenuEdit.add(miAdd);
myMenuEdit.add(miEdit);
myMenuEdit.add(miDel);
myMenuEdit.add(miShow); //给“编辑”菜单组件添加子菜单
myMenuUser=new Menu("用户");
miUser=new MenuItem("编辑用户");
myMenuUser.add(miUser);
myMenuBar.add(myMenuFile);
myMenuBar.add(myMenuEdit);
myMenuBar.add(myMenuUser); //将组件添加到菜单栏
String[] col = {"学号","姓名","性别","民族","年龄","年级","班级","专业"};//创建属性列名
mm= new DefaultTableModel(col,0);
table.setModel(mm); //设置模板
JScrollPane tableScrollPane = new JScrollPane(table); //滚动条
this.setMenuBar(myMenuBar);
this.add(tableScrollPane);
miExit.addActionListener(this);
miFind.addActionListener(this);
miAdd.addActionListener(this);
miEdit.addActionListener(this);
miDel.addActionListener(this);
miShow.addActionListener(this);
miUser.addActionListener(this); //添加监听者
}
public void freshTable(String sql){
myConnection conn=new myConnection();
ResultSet rs;
rs=conn.getResult(sql);
if (rs!=null){
try{
mm.setRowCount(0);
table.setModel(mm);
while(rs.next()){
String 学号 = rs.getString("学号");
String 姓名 = rs.getString("姓名");
String 性别 = rs.getString("性别");
String 民族 = rs.getString("民族");
String 年龄 = rs.getString("年龄");
String 年级 = rs.getString("年级");
String 班级 = rs.getString("班级");
String 专业 = rs.getString("专业");
String[] cloumns ={学号,姓名,性别,民族,年龄,年级,班级,专业};
mm.addRow(cloumns);
}
//table.clearSelection();
table.setModel(mm);
}catch(Exception e){
System.out.println(e.toString());
}
}
}
public void actionPerformed(ActionEvent e){
//退出
if (e.getSource()==miExit){
System.exit(0);
//查找
}else if(e.getSource()==miFind){
findFrame ff=new findFrame(this);
ff.setVisible(true);
//添加
}else if(e.getSource()==miAdd){
addFrame af=new addFrame(this);
af.setVisible(true);
//修改
}else if(e.getSource()==miEdit){
if (table.getSelectedRow()==-1){
JOptionPane.showMessageDialog(null, "请选择你要修改的内容", "温馨提示", JOptionPane.INFORMATION_MESSAGE);
}else{
editFrame ef=new editFrame(this);
ef.学号.setText((String)table.getValueAt(table.getSelectedRow(),0));
ef.姓名.setText((String)table.getValueAt(table.g