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

📄 grastudent.java

📁 自己编的学籍管理系统
💻 JAVA
字号:
package myprojects.studymanager;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

public class GraStudent extends AbstractStudent{
	private	Teacher s_teacher;
	private int teacher_permit=0;		//0未选  1选而未定 2选定 3被拒

	public GraStudent(){}
	public GraStudent(String name,int age,String studentID,
		String department,int year,int month)
	{
	   super(name,age,studentID,department,year,month);
    }
            

	public void setTeacher(Teacher teacher){
		s_teacher.setT_name(teacher.getT_name());
		s_teacher.setT_major(teacher.getT_major());
		s_teacher.setT_department(teacher.getT_department());
		s_teacher.setT_status(teacher.getT_status());	
	}
	public Teacher getTeacher(){
		if(teacher_permit!=0)
			return s_teacher;
		else return null;
	}
	public int hasTeacher()
	{
		return teacher_permit;
	}
	
	public void teacher_answer(int answer)
	{
		teacher_permit=answer;
	}

	/*public void showStudentInfo() {
		
        System.out.println("GraStudent: ");
        System.out.println("name: " + s_name +
                         "\tage: " + s_age +
                         "\tstudnetID: " + s_studentID +
                         "_department: " + s_department);
                         
        System.out.println("EnrollmentTime:");
        System.out.println("Year:"+s_enrollmentyear.getYear()+
        					"\tMonth:"+s_enrollmentyear.getMonth());
        					
        }	
      */
    private class Teacher_select extends JDialog implements ActionListener
    {	    				//先编teacher面板,再借用
    	JComboBox selectableteacher;
    	JLabel welcome;
    	JButton button1,button2;
    	ShowTeacher teacherinformation;
    	JLabel rest;
    	JTextField restnum;
    	File file;
    	LinkedList teacherlist;
    	
    	Teacher_select(StudyManager frame)
    	{
    		
    		super(frame,"选导师",true);
    		this.setSize(400,400);
    		   		
    		Point p=frame.getLocation();		//定位dialog在母版中间
    		Dimension s=frame.getSize();
    		int x=(int)p.getX();
    		int y=(int)p.getY();
    		int sx=(int)s.getWidth();
    		int sy=(int)s.getHeight();
    		x=x+sx/2-300/2;
    		y=y+sy/2-200/2;
    		this.setLocation(x,y);
    		
    		Container cp=this.getContentPane();
    		cp.setLayout(new FlowLayout());
    		file=new File(".\\data\\Teacher.study");
    		
    		selectableteacher=new JComboBox();
    		welcome=new JLabel("-----请选择导师-----");
    		rest=new JLabel("该导师已选择人数:");
    		restnum=new JTextField(4) ;
    		teacherinformation=new ShowTeacher(frame);
    		teacherinformation.unmodifiable();
    		button1=new JButton("选择");
    		button2=new JButton("退出");
    		
    		Box box1=Box.createHorizontalBox();
    		box1.add(button1);
    		box1.add(button2);
    		
    		Box box2=Box.createHorizontalBox();
    		box2.add(welcome);
    		
    		Box box3=Box.createHorizontalBox();
    		box3.add(rest);
    		box3.add(restnum);
    		box3.add(new JLabel("人"));
    		
    		Box box=Box.createVerticalBox();
    		box.add(box2);
    		box.createVerticalStrut(10);
    		box.add(selectableteacher);
    		box.createVerticalStrut(10);
    		box.add(box3);
    		box.createVerticalStrut(10);
    		box.add(teacherinformation);
    		box.createVerticalStrut(10);
    		box.add(box1);
    		  		
    		cp.add(box);
    		button1.addActionListener(this);
    		button2.addActionListener(this);
    		selectableteacher.addItemListener(new ItemListener(){
    			public void itemStateChanged(ItemEvent mee)
    			{
    				Teacher temp=(Teacher)(selectableteacher.getSelectedItem());
    				teacherinformation.setTeacher(temp.getT_ID());
    				int i=temp.getT_contain()-temp.get_Rest();
    				restnum.setText(""+i);
    			}
    		});
    		
    		try{
    		
    			FileInputStream input1=new FileInputStream(file);
				ObjectInputStream input2=new ObjectInputStream(input1);
				teacherlist=(LinkedList)input2.readObject();
				input1.close();
				input2.close();
				
				ListIterator teacheriterator=teacherlist.listIterator();
				while(teacheriterator.hasNext())
				{
					Teacher addteacher=(Teacher)teacheriterator.next();
					if(addteacher.get_Rest()!=0)
					{
						selectableteacher.addItem(addteacher);
						
					}
				}		
				
			}
			catch(Exception tme)
			{
				tme.printStackTrace();
			}
		}
			
    	
    	public void actionPerformed(ActionEvent me)
    	{
    		if(me.getSource()==button1)
    		{
    			Object[]options={"是","取消"};
    			int j=
    			JOptionPane.showOptionDialog(this,"确定选择这个导师","确定选择",
					JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE,null,
							options,null);
				if(j==0)
				{
					try
					{
					Teacher select=(Teacher)selectableteacher.getSelectedItem();
    				
    				if(select.T_chosen(s_studentID))
    				{
    					teacher_permit=1;
    					s_teacher=new Teacher(select);
    					
    					button1.setEnabled(false);
    					FileOutputStream one=new FileOutputStream(file);
						ObjectOutputStream two=new ObjectOutputStream(one);
						two.writeObject(teacherlist);
						one.close();
						two.close();
    				}
    				else
    				JOptionPane.showMessageDialog(this,
							"你已选过该老师,请选择其他","Warning",
							JOptionPane.ERROR_MESSAGE);	
    			    			
    				
				}	
					
					catch(Exception gse)
					{
						gse.printStackTrace();
					}
				}
				else if(j==1)
				{
				}
				
    
    		}
    		else if(me.getSource()==button2)
    		{
    			try
    			{
    				dispose();
    			}
    			catch(Exception sdf)
    			{
    				sdf.printStackTrace();
    			}
    		}
    			
    	}
    		     		
    	void selectpanel()				//其他类不能用show,只好转到这里
    	{
    		this.show();
    	}
    		
    }
    
    public Teacher_select selectTeacher(StudyManager frame)
    {
    	return new Teacher_select(frame);
    }    			
}

⌨️ 快捷键说明

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