📄
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JOptionPane;
import java.sql.*;
public class 主界面 extends JFrame implements ActionListener
{
JMenuBar bar;
JMenu fileMenu;
JMenuItem 录入,修改,按学号查询,按姓名查询,按班级查询,按出生年月查询,按入学年份查询,按籍贯查询,按专业查询,删除;
JDialog 学号查询界面;
JDialog 姓名查询界面;
JDialog 班级查询界面;
JDialog 出生年月查询界面;
JDialog 入学年份查询界面;
JDialog 籍贯查询界面;
JDialog 专业查询界面;
JDialog 录入面;
JDialog 修改面;
JDialog 删除面;
Container con=null;
Mycanvas canvas;
public 主界面()
{
super("学生基本信息管理系统");
录入=new JMenuItem("录入学生基本信息");
修改=new JMenuItem("修改学生基本信息");
按学号查询=new JMenuItem("按学号查询");
按姓名查询=new JMenuItem("按姓名查询");
按班级查询=new JMenuItem("按班级查询");
按出生年月查询=new JMenuItem("按出生年月查询");
按入学年份查询=new JMenuItem("按入学年份查询");
按籍贯查询=new JMenuItem("按籍贯查询");
删除=new JMenuItem("删除学生基本信息");
按专业查询=new JMenuItem("按专业查询");
bar=new JMenuBar();
fileMenu=new JMenu("菜单选项");
fileMenu.add(录入);
fileMenu.add(修改);
fileMenu.add(按学号查询);
fileMenu.add(按姓名查询);
fileMenu.add(按班级查询);
fileMenu.add(按出生年月查询);
fileMenu.add(按入学年份查询);
fileMenu.add(按籍贯查询);
fileMenu.add(按专业查询);
fileMenu.add(删除);
bar.add(fileMenu);
setJMenuBar(bar);
学号查询界面=new 按学号查询界面(this,"按学号查询");
学号查询界面.setVisible(false);
姓名查询界面=new 按姓名查询界面(this,"按姓名查询");
姓名查询界面.setVisible(false);
班级查询界面=new 按班级查询界面(this,"按班级查询");
班级查询界面.setVisible(false);
出生年月查询界面=new 按出生年月查询界面(this,"按出生年月查询");
出生年月查询界面.setVisible(false);
入学年份查询界面=new 按入学年份查询界面(this,"按入学年份查询");
入学年份查询界面.setVisible(false);
籍贯查询界面=new 按籍贯查询界面(this,"按籍贯查询");
籍贯查询界面.setVisible(false);
专业查询界面=new 按专业查询界面(this,"按专业查询");
专业查询界面.setVisible(false);
录入面=new 录入界面(this, "录入界面 ");
录入面.setVisible(false);
修改面=new 修改界面(this, "修改界面 ");
修改面.setVisible(false);
删除面=new 删除界面(this, "删除界面 ");
删除面.setVisible(false);
录入.addActionListener(this);
修改.addActionListener(this);
按学号查询.addActionListener(this);
按姓名查询.addActionListener(this);
按班级查询.addActionListener(this);
按出生年月查询.addActionListener(this);
按入学年份查询.addActionListener(this);
按籍贯查询.addActionListener(this);
按专业查询.addActionListener(this);
删除.addActionListener(this);
con=getContentPane();
canvas=new Mycanvas();
con.add(canvas);
setVisible(true);
setBounds(100,50,420,380);
validate();
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==录入)
{
录入面.setVisible(true);
}
else if(e.getSource()==修改)
{
修改面.setVisible(true);
}
else if(e.getSource()== 按学号查询)
{
学号查询界面.setVisible(true);
}
else if(e.getSource()==按姓名查询)
{
姓名查询界面.setVisible(true);
}
else if(e.getSource()== 按班级查询)
{
班级查询界面.setVisible(true);
}
else if(e.getSource()==按出生年月查询)
{
出生年月查询界面.setVisible(true);
}
else if(e.getSource()==按入学年份查询)
{
入学年份查询界面.setVisible(true);
}
else if(e.getSource()==按籍贯查询)
{
籍贯查询界面.setVisible(true);
}
else if(e.getSource()==删除)
{
删除面.setVisible(true);
}
else if(e.getSource()==按专业查询)
{
专业查询界面.setVisible(true);
}
}
public static void main(String args[])
{
new 主界面();
}
}
class Mycanvas extends JPanel//jpanel的画板的功能
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.red);
g.drawString("沁园春·有感",120,30);
g.drawString("催促频频,火点眉毛,心涌惊涛。",70,70);
g.drawString("看人家程序,至完至善,手边电脑,竟惹尘潮。",70,90);
g.drawString("悔忆从前,恨思现在,都把时间当水抛。",70,110);
g.drawString("钢心胆,要寒风夜枕,白露晨邀。",70,130);
g.drawString("纵观万古英豪,就名岂能惟智不劳。",70,170);
g.drawString("幸早幡然悟,迷途识返,亲朋学友,共力以熬。",70,190);
g.drawString("暴雨狂风,闲庭信步,力尽筋疲绩未高。",70,210);
g.drawString("何灰意?论风流万载,不只今朝!",70,230);
g.drawString("-------依据《白香词谱》中的词牌“沁园春”而填",150,270);
g.drawString("---------------平仄、押韵依据《词林正韵》",200,290);
g.drawString("-------------------------作者:周立左",200,310);
}
}
class 按姓名查询界面 extends JDialog implements ActionListener
{
JButton button1,button2;
JTextField textfield1,textfield2;
JLabel label;
JPanel panel1,panel2;
JTable table;
Connection connect;
Statement sql;
ResultSet rs;
Container con;
Object a[][]=new Object [80][8];
Object columnName[]={"学号","姓名","性别","班级","出生年月","入学年份","籍贯","专业"};
public 按姓名查询界面(JFrame f,String s)
{
button1=new JButton("ok");
button2=new JButton("clear");
label=new JLabel("请输入要查询的姓名:");
textfield1=new JTextField(12);
textfield2=new JTextField(12);
table=new JTable(a,columnName);
panel1=new JPanel();
panel1.add(label);panel1.add(textfield1);panel1.add(button1);panel1.add(button2);
con=getContentPane();
con.add(panel1,BorderLayout.NORTH);
con.add(new JScrollPane(table),BorderLayout.CENTER);
con.add(textfield2,BorderLayout.SOUTH);
button1.addActionListener(this);
button2.addActionListener(this);
textfield1.addActionListener(this);
setSize(600,600);setVisible(false);
this.setTitle(s);
validate();
addWindowListener(new WindowAdapter()
{public void WindowClosing(WindowEvent e)
{
setVisible(false);}});
}
public void actionPerformed(ActionEvent evt)
{
int j,k;//第二次查找数据刷新的作用
for(k=0;k<80;k++)
{ for(j=0;j<8;j++)
{a[k][j]=null;}
}
table.repaint();
if(evt.getSource()==button2)
textfield1.setText(null);
if(evt.getSource()==button1||evt.getSource()==textfield1)
{
int i=0;
String name=textfield1.getText().trim();
if(name.length()>0)
{
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){System.out.println("连接异常");}
try
{
connect=DriverManager.getConnection("jdbc:odbc:Source","","");
sql=connect.createStatement();
String s = " select * from 表1 where 姓名 like" + "'" +'%'+ name +'%'+ "'";
rs=sql.executeQuery(s);
while(rs.next())
{
a[i][0]=rs.getString("学号");a[i][1]=rs.getString("姓名");
a[i][2]=rs.getString("性别");a[i][3]=rs.getString("班级");
a[i][4]=rs.getString("出生年月");a[i][5]=rs.getString("入学年份");
a[i][6]=rs.getString("籍贯");a[i][7]=rs.getString("专业");
table.repaint();
i++;
if(i==81)
{break;}
}
if(i==0)
textfield2.setText("没有该记录");
else if(i==81)
textfield2.setText("该查询的结果的记录个数大于80,只能显示80个!");
else
textfield2.setText("共有"+i+"个记录");
connect.close();
}
catch(SQLException e1){System.out.println("查询异常");}
}
else
{
String warning="必须要输入姓名!";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
}
}
class 按学号查询界面 extends JDialog implements ActionListener
{
JButton button1,button2;
JTextField textfield1,textfield2;
JLabel label;
JPanel panel1,panel2;
JTable table;
Connection connect;
Statement sql;
ResultSet rs;
Container con;
Object a[][]=new Object [80][8];
Object columnName[]={"学号","姓名","性别","班级","出生年月","入学年份","籍贯","专业"};
按学号查询界面(JFrame f,String s)
{
button1=new JButton("ok");
button2=new JButton("clear");
label=new JLabel("请输入要查询的学号:");
textfield1=new JTextField(12);
textfield2=new JTextField(12);
table=new JTable(a,columnName);
panel1=new JPanel();
panel1.add(label);panel1.add(textfield1);panel1.add(button1);panel1.add(button2);
con=getContentPane();
con.add(panel1,BorderLayout.NORTH);
con.add(new JScrollPane(table),BorderLayout.CENTER);
con.add(textfield2,BorderLayout.SOUTH);
button1.addActionListener(this);
button2.addActionListener(this);
textfield1.addActionListener(this);
setSize(600,600);setVisible(false);
this.setTitle(s);
validate();
addWindowListener(new WindowAdapter()
{public void WindowClosing(WindowEvent e)
{
setVisible(false);}});
}
public void actionPerformed(ActionEvent evt)
{
int j,k;
for(k=0;k<80;k++)
{ for(j=0;j<8;j++)
{a[k][j]=null;}
}
table.repaint();
if(evt.getSource()==button2)
textfield1.setText(null);
if(evt.getSource()==button1||evt.getSource()==textfield1)
{
int i=0;
String xuehao=textfield1.getText().trim();
if(xuehao.length()>0)
{
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){System.out.println("连接异常");}
try
{
connect=DriverManager.getConnection("jdbc:odbc:Source","","");
sql=connect.createStatement();
String s = " select * from 表1 where 学号 like" + "'" +'%'+ xuehao +'%'+ "'";
rs=sql.executeQuery(s);
while(rs.next())
{
a[i][0]=rs.getString("学号");a[i][1]=rs.getString("姓名");
a[i][2]=rs.getString("性别");a[i][3]=rs.getString("班级");
a[i][4]=rs.getString("出生年月");a[i][5]=rs.getString("入学年份");
a[i][6]=rs.getString("籍贯");a[i][7]=rs.getString("专业");
table.repaint();
i++;
if(i==81)
{break;}
}
if(i==0)
textfield2.setText("没有该记录");
else if(i==81)
textfield2.setText("该查询的结果的记录个数大于80,只能显示80个!");
else
textfield2.setText("共有"+i+"个记录");
connect.close();
}
catch(SQLException e1){System.out.println("查询异常");}
}
else
{
String warning="必须要输入学号!";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
}
}
class 按班级查询界面 extends JDialog implements ActionListener
{
JButton button1,button2;
JTextField textfield1,textfield2;
JLabel label;
JPanel panel1,panel2;
JTable table;
Connection connect;
Statement sql;
ResultSet rs;
Container con;
Object a[][]=new Object [80][8];
Object columnName[]={"学号","姓名","性别","班级","出生年月","入学年份","籍贯","专业"};
按班级查询界面(JFrame f,String s)
{
button1=new JButton("ok");
button2=new JButton("clear");
label=new JLabel("请输入要查询的班级:");
textfield1=new JTextField(12);
textfield2=new JTextField(12);
table=new JTable(a,columnName);
panel1=new JPanel();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -