⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 用java编写的 学生学籍管理系统
💻
📖 第 1 页 / 共 4 页
字号:
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 + -