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

📄 studentface.java

📁 可以用的成绩管理系统
💻 JAVA
字号:
/**
 * @(#)StudentFace.java
 *
 *
 * @author 
 * @version 1.00 2008/7/3
 */
import java.awt.*;
import javax.swing.*;

import java.awt.event.*;
import javax.swing.table.*;
import java.sql.*;
public class StudentFace extends JPanel implements ActionListener{
	
	JFrame sfram;
	JLabel jl1,jl2,jl3,jl4,jl5,jl6;
	JTextField jt1,jt2,jt3,jt4,jt5,jt6;
	JTable  jta;
	static JButton jb1,jb2,jb3,jb4,jb5;
	JComboBox jcb = null;
	
	JButton jbtn; //确定信息按钮
	
	DefaultTableModel model;
	
	DataBaseManager db = new DataBaseManager();
	ResultSet rs;
	
	String str ;
	
	String s1 = "";
	String s2 = "";
	String s3 = "";
	String s4 = "";
	String s5 = "";
	
    public StudentFace() {
    	
    	initTxt();

    	sfram = new JFrame("学生信息");
    	sfram.setBounds(150,150,750,400);
    	sfram.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	jl1 = new JLabel("学号");
    	jl1.setPreferredSize(new Dimension(50,25));
    	jl2 = new JLabel("姓名");
    	jl2.setPreferredSize(new Dimension(50,25));
    	jl3 = new JLabel("性别");
    	jl3.setPreferredSize(new Dimension(50,25));
    	jl4 = new JLabel("学院");
    	jl4.setPreferredSize(new Dimension(50,25));
    	jl5 = new JLabel("专业");
    	jl5.setPreferredSize(new Dimension(50,25));
    	jl6 = new JLabel("信息查询");
    	
    	jt1 = new JTextField(s1,10);
    	jt1.setPreferredSize(new Dimension(50,25));
    	jt1.setEditable(false);
    	jt2 = new JTextField(s2,10);
    	jt2.setPreferredSize(new Dimension(50,25));
    	jt2.setEditable(false);
    	jt3 = new JTextField(s3,10);
    	jt3.setPreferredSize(new Dimension(50,25));
    	jt3.setEditable(false);
    	jt4 = new JTextField(s4,10);
    	jt4.setPreferredSize(new Dimension(50,25));
    	jt4.setEditable(false);
    	jt5 = new JTextField(s5,10);
    	jt5.setPreferredSize(new Dimension(50,25));
    	jt5.setEditable(false);
    	jt6 = new JTextField(10);
    	String[] strjcb = {"课程号","课程名"};
    	jcb = new JComboBox(strjcb);
    	
    	jb5 = new JButton("返回主程序");
    	jb5.addActionListener(this);
    	jb5.setVisible(false);//当同学登陆的时候设置为不可显示!
    	jb4 = new JButton("修改密码");
    	jb4.addActionListener(this);
    	jb1 = new JButton("修改个人信息");
    	jb1.addActionListener(this);
    	jb2 = new JButton("退出");
    	jb2.addActionListener(this);
    	jb3 = new JButton("查询");
    	jb3.addActionListener(this);
    	
    	jbtn = new JButton("确定");
    	jbtn.setVisible(false);
    	jbtn.addActionListener(this);
    	//创建JTable
    	
    	Object[][] arrayObj= {};
    	String[] colum = {"课程号","课程名","成绩","学分"};
    	model = new DefaultTableModel(arrayObj,colum);
    	jta = new JTable(model);//arrayObj,colum
     	jta.setPreferredSize(new Dimension(300,400));
   		jta.setPreferredScrollableViewportSize(new Dimension(500,180));
    	JScrollPane scrollPane=new JScrollPane(jta);

    	
    	JPanel jpa1 = new JPanel();
    	JPanel jpa2 = new JPanel();
    	JPanel jpa3 = new JPanel();
    	JPanel jpa4 = new JPanel();
    	
    	jpa1.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
    	jpa1.add(jl6);
    	jpa1.add(jcb);
    	jpa1.add(jt6);
    	jpa1.add(jb3);
    	
    	jpa2.setSize(240,250);
    	jpa2.setLayout(new GridLayout(6,1));
    	JPanel jpa21 = new JPanel();
    	jpa21.setLayout(new FlowLayout(FlowLayout.CENTER));
    	jpa21.add(jl1);
    	jpa21.add(jt1);
    	JPanel jpa22 = new JPanel();
    	jpa22.setLayout(new FlowLayout(FlowLayout.CENTER));
    	jpa22.add(jl2);
    	jpa22.add(jt2);
    	JPanel jpa23 = new JPanel();
    	jpa23.setLayout(new FlowLayout(FlowLayout.CENTER));
    	jpa23.add(jl3);
    	jpa23.add(jt3);
    	JPanel jpa24 = new JPanel();
    	jpa24.setLayout(new FlowLayout(FlowLayout.CENTER));
    	jpa24.add(jl4);
    	jpa24.add(jt4);
    	JPanel jpa25 = new JPanel();
    	jpa25.setLayout(new FlowLayout(FlowLayout.CENTER));
    	jpa25.add(jl5);
    	jpa25.add(jt5);
    	JPanel jpa26 = new JPanel();
    	jpa26.setLayout(new FlowLayout(FlowLayout.CENTER));
    	jpa26.add(jbtn);
    	jpa2.add(jpa21);
    	jpa2.add(jpa22);
    	jpa2.add(jpa23);
    	jpa2.add(jpa24);
    	jpa2.add(jpa25);
    	jpa2.add(jpa26);

    	
    	jpa3.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
    	jpa3.add(scrollPane,BorderLayout.CENTER);
    	
    	jpa4.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
    	jpa4.add(jb4);
    	jpa4.add(jb1);
    	jpa4.add(jb2);
    	jpa4.add(jb5);
    	
    	sfram.setLayout(new BorderLayout());
    	sfram.add(jpa1,BorderLayout.NORTH);
    	sfram.add(jpa2,BorderLayout.WEST);
    	sfram.add(jpa3,BorderLayout.EAST);
    	sfram.add(jpa4,BorderLayout.SOUTH);
    	initJtable();
    	
    	sfram.setResizable(false);
    	sfram.setVisible(true);
    }
    //显示信息到编辑框
    public void initTxt(){
    	
    	str = Login.sName;
	
    	try{
    		
    		String strSQL ="select * from student_Info where student_ID ='"+str+"'";
    		rs = db.getResult(strSQL);
    		while(rs.next()){
    			
    				 s1 = rs.getString(1);
    				 s2 = rs.getString(2);
    				 s3 = rs.getString(3);
    				 s4 = rs.getString(4);
    				 s5 = rs.getString(5);

    		}
    	}catch(SQLException ex){
				System.out.println(ex);
		}catch(NullPointerException nex){
			System.out.println(nex);
		}
    	
    }
    //显示信息到表格里
    public void initJtable(){
    	
		//jta.setModel(model);
		//如果是从登陆界面进入,则用第一个try,否则用第二个try!
		if(!s1.equals("")){
    		try{
					
					String strSQL="select *from  Student_Score where Student_ID='"+str+"'";
					rs =db.getResult(strSQL);
				
					while(rs.next()){	
						Object data[] = {rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
						model.addRow(data);//addRow()需要Object数组类型!
					}		
						
			}catch(SQLException ex){
				System.out.println(ex);
			}catch(NullPointerException ex){
				System.out.println(ex);
			}
		}else{
			str = MainFace.mainStr;
			try{
					
					String strSQL="select *from  Student_Score where Student_ID='"+str+"'";
					rs =db.getResult(strSQL);
				
					while(rs.next()){	
						Object data[] = {rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
						model.addRow(data);//addRow()需要Object数组类型!
					}
					
					
					
					//查询标签里面的信息
					String strSQL2 ="select * from student_Info where student_ID ='"+str+"'";
    				rs = db.getResult(strSQL2);
    				while(rs.next()){
    			
    				 s1 = rs.getString(1);
    				 s2 = rs.getString(2);
    				 s3 = rs.getString(3);
    				 s4 = rs.getString(4);
    				 s5 = rs.getString(5);

    			}		
				//将信息显示到标签里面!
				jt1.setText(s1);
				jt2.setText(s2);
				jt3.setText(s3);
				jt4.setText(s4);
				jt5.setText(s5);
						
			}catch(SQLException ex){
				System.out.println(ex);
			}catch(NullPointerException ex){
				System.out.println(ex);
			}
		}
    }
    
    
    public void actionPerformed(ActionEvent e){
    	Object o = e.getSource();
    	
    	
    	if(o.equals(jb3)){
    		
    		for(int i =model.getRowCount()-1;i>=0;i--){
				model.removeRow(i);
				sfram.repaint();
				//jpa3.repaint();
			}

    
    		int type = jcb.getSelectedIndex();
    		switch(type){
    			case 0:  
    				try{
					
						String strSQL="select * from  Student_Score where Student_ID='"+jt1.getText().trim()
							+"'and class_No='"+jt6.getText().trim()+"'";
				
						rs =db.getResult(strSQL);
				
						while(rs.next()){	
						Object data[] = {rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
						model.addRow(data);//addRow()需要Object数组类型!
						//jpa3.repaint();
						sfram.repaint();
						}
						if(model.getRowCount()==0){
							
							JOptionPane.showMessageDialog(null,"没有搜索到记录!","提示",JOptionPane.INFORMATION_MESSAGE);
						}		
						
					}catch(SQLException ex){
						System.out.println(ex);
					}catch(NullPointerException ex){
						System.out.println(ex);
					}
    				break;
    			case 1:	
    				try{
					
						String strSQL="select * from  Student_Score where Student_ID='"+jt1.getText().trim()
							+"'and class_Name='"+jt6.getText().trim()+"'";
				
						rs =db.getResult(strSQL);
				
						while(rs.next()){	
						Object data[] = {rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
						model.addRow(data);//addRow()需要Object数组类型!
						//jpa3.repaint();
						sfram.repaint();
						}
						if(model.getRowCount()==0){
							
							JOptionPane.showMessageDialog(null,"没有搜索到记录!","提示",JOptionPane.INFORMATION_MESSAGE);
						}		
						
					}catch(SQLException ex){
						System.out.println(ex);
					}catch(NullPointerException ex){
						System.out.println(ex);
					}
    				break;
    		}
    	}
    	
    	//修改学生密码
    	if(o.equals(jb4)){
    			new PasswordChange();
    	}
    	if(o.equals(jb5)){
    		sfram.dispose();
    	}
    	//修改个人信息时,将JTextField 设置为可以编辑的!
    	if(o.equals(jb1)){
    		
    		jt2.setEditable(true);
    		jt3.setEditable(true);
    		jt4.setEditable(true);
    		jt5.setEditable(true);
    		jbtn.setVisible(true);
    	}
    	//修改信息确定按钮!
    	if(o.equals(jbtn)){
    		
    		try{
    			
    				String strSQL1 ="select *from  Student_Info where Student_ID='"+str+"'";
    				rs =db.getResult(strSQL1);
    				while(rs.next()){
					
    					String strSQL2="update Student_Info set Student_Name='"
    						+jt2.getText()+"',"+"Student_Sex='"+jt3.getText()+"',"
    						+"Student_Dept='"+jt4.getText()+"',"+"Student_Mjor='"+jt5.getText()+"'";
					
    					if(db.updateSql(strSQL2)){
					
    						JOptionPane.showMessageDialog(null,"修改信息成功!","提示",JOptionPane.INFORMATION_MESSAGE);	
						
    					}else{
					
    						JOptionPane.showMessageDialog(null,"修改信息失败!","提示",JOptionPane.INFORMATION_MESSAGE);
						
    					}
    				}
    			}catch(SQLException ex){
    				System.out.println(ex);
    			}catch(NullPointerException ex){
    				System.out.println(ex);
    			}
   			jt2.setEditable(false);
   			jt3.setEditable(false);
   			jt4.setEditable(false);
   			jt5.setEditable(false);
    		jbtn.setVisible(false);
    	}
    	//退出按钮!
    	if(o.equals(jb2)){
    		
    		System.exit(0);
   		}
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -