📄 mainframe.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.sql.*;
/*
*2.编写学生信息管理系统程序:
(1)基本要求:学生信息(包括,学号、姓名、性别、年龄、家庭住址、电话)的添加,
删除,修改,查询(包括按学号,按姓名,按电话查询)。要求第二次上机时必须完成。
(2)提高要求:可填加班级信息(也可删除、修改班级),学生信息中包含班级信息,
可按班级统计学生。简单统计,按性别统计等。
说明:此程序要求图形界面实现,如果不采用图形界面则扣减实验分数。
*/
public class mainFrame
{
String url = "jdbc:odbc:system";
Connection con;
String sql;
Statement stmt;
PreparedStatement stmt0;
Frame mainframe;
MenuBar menubar;
Menu menu,addmenu,delmenu,updatemenu,searchmenu;
MenuItem delstudent,delclass,updatestudent,updateclass,searchstudent,searchclass,
addstudent,addclass;
Menu exit;
MenuItem exititem;
Menu statistic;
MenuItem statisticsex,statisticclass;
TextArea search;
Label la;
mainFrame()
{
mainframe=new Frame("学生信息管理系统");
menubar=new MenuBar();
menu=new Menu("菜单");
statistic=new Menu("统计");
exit=new Menu("退出");
addmenu=new Menu("添加");
delmenu=new Menu("删除");
updatemenu=new Menu("修改");
searchmenu=new Menu("查找");
exititem=new MenuItem("退出");
statisticsex=new MenuItem("按性别统计");
statisticclass=new MenuItem("按班级统计");
addstudent=new MenuItem("添加学生信息");
addclass=new MenuItem("添加班级信息");
delstudent=new MenuItem("删除学生信息");
delclass=new MenuItem("删除班级信息");
updatestudent=new MenuItem("修改学生信息");
updateclass=new MenuItem("修改班级信息");
searchstudent=new MenuItem("查找学生信息");
searchclass=new MenuItem("查找班级信息");
search=new TextArea();
la=new Label("显示统计结果如下:",Label.CENTER);
menubar.add(menu);
menubar.add(statistic);
menubar.add(exit);
menu.add(addmenu);
menu.add(delmenu);
menu.add(updatemenu);
menu.add(searchmenu);
addmenu.add(addstudent);
addmenu.add(addclass);
delmenu.add(delstudent);
delmenu.add(delclass);
updatemenu.add(updatestudent);
updatemenu.add(updateclass);
searchmenu.add(searchstudent);
searchmenu.add(searchclass);
exit.add(exititem);
statistic.add(statisticsex);
statistic.add(statisticclass);
mainframe.add(search,BorderLayout.CENTER);
mainframe.add(la,BorderLayout.NORTH);
mainframe.setMenuBar(menubar);
mainframe.setSize(300,400);
mainframe.setVisible(true);
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url, "system", "system");
stmt = con.createStatement();
} catch(ClassNotFoundException e)
{
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
catch(SQLException e){
}
Mon mon=new Mon();
addstudent.addActionListener(mon);
addclass.addActionListener(mon);
delstudent.addActionListener(mon);
delclass.addActionListener(mon);
updatestudent.addActionListener(mon);
updateclass.addActionListener(mon);
searchstudent.addActionListener(mon);
searchclass.addActionListener(mon);
exititem.addActionListener(mon);
statisticsex.addActionListener(mon);
statisticclass.addActionListener(mon);
mainframe.addWindowListener(mon);
}
class Mon extends WindowAdapter implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==exititem)
{
System.exit(0);
}
if(e.getSource()==addstudent)
{
new addStudentFrame();
}
if(e.getSource()==addclass)
{
new addClassFrame();
}
if(e.getSource()==delstudent)
{
new delStudentFrame();
}
if(e.getSource()==delclass)
{
new delStudentFrame();
}
if(e.getSource()==updatestudent)
{
new updateStudentFrame();
}
if(e.getSource()==updateclass)
{
new updateClassFrame();
}
if(e.getSource()==searchstudent)
{
new searchStudentFrame();
}
if(e.getSource()==searchclass)
{
new searchClassFrame();
}
if(e.getSource()==statisticsex)
{
try{
search.append("********************************\n");
sql="select SEX,count(*)AS NUM from STUDENT group by SEX";
ResultSet rs=stmt.executeQuery(sql);
String number,sex;
search.append("性别 "+" 人数\n");
while(rs.next())
{
sex=rs.getString(1);
number=rs.getString(2);
search.append(sex+" "+number+"\n");
}
search.append("********************************\n");
}
catch(SQLException e1)
{
e1.printStackTrace();
}
}
if(e.getSource()==statisticclass)
{
try{
sql="select CLASS, count(*)AS NUM from STUDENT group by CLASS";
ResultSet rs=stmt.executeQuery(sql);
String classs,number;
search.append("********************************\n");
search.append(" 班级"+" 人数\n");
while(rs.next())
{
classs=rs.getString(1);
number=rs.getString(2);
search.append(classs+" "+number+"\n");
}
search.append("********************************\n");
}
catch(SQLException e1)
{
e1.printStackTrace();
}
}
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
public static void main(String argv[])
{
new mainFrame();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -