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

📄 bachlorstudent.java

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


public class BachlorStudent extends AbstractStudent 
{
	
	private	Major s_Major;
	private boolean hasMajor=false;
	
	public BachlorStudent(){
	
	}
	public BachlorStudent(String name,int age,String studentID,
		String department,int year,int month)
	{
	   super(name,age,studentID,department,year,month);
    }
    
    private class Major_select extends JDialog implements ActionListener
    {
    	JComboBox selectablemajor;
    	JLabel welcome;
    	JButton button1,button2;
    	JTextArea majorinformation;
    	JLabel rest;
    	JTextField restnum;
    	File file;
    	LinkedList majorlist;
    	
    	Major_select(JFrame frame)
    	{
    		
    		super(frame,"选系",true);
    		this.setSize(300,200);
    		   		
    		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\\Major.study");
    		
    		selectablemajor=new JComboBox();
    		welcome=new JLabel("-----请选择专业-----");
    		rest=new JLabel("该专业已选人数:");
    		restnum=new JTextField(4) ;
    		majorinformation=new JTextArea(4,20);
    		majorinformation.setEnabled(false);
    		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(selectablemajor);
    		box.createVerticalStrut(10);
    		box.add(box3);
    		box.createVerticalStrut(10);
    		box.add(majorinformation);
    		box.createVerticalStrut(10);
    		box.add(box1);
    		  		
    		cp.add(box);
    		button1.addActionListener(this);
    		button2.addActionListener(this);
    		selectablemajor.addItemListener(new ItemListener(){
    			public void itemStateChanged(ItemEvent mee)
    			{
    				Major temp=(Major)(selectablemajor.getSelectedItem());
    				majorinformation.setText(temp.getM_information());
    				int i=temp.getM_contain()-temp.get_Rest();
    				restnum.setText(""+i);
    			}
    		});
    		
    		try{
    		
    			FileInputStream input1=new FileInputStream(file);
				ObjectInputStream input2=new ObjectInputStream(input1);
				majorlist=(LinkedList)input2.readObject();
				input1.close();
				input2.close();
				
				ListIterator majoriterator=majorlist.listIterator();
				while(majoriterator.hasNext())
				{
					Major addmajor=(Major)majoriterator.next();
					if(addmajor.get_Rest()!=0)
					{
						selectablemajor.addItem(addmajor);
						
					}
				}		
				
			}
			catch(Exception mme)
			{
				mme.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)
				{
					Major select=(Major)selectablemajor.getSelectedItem();
    				s_Major=new Major(select.getM_name(),
    						select.getM_information());//学生只要知道专业名称和概况
    				hasMajor=true;
    				select.M_chosen(s_studentID);
    				int i=select.get_Rest();
    				i=s_Major.getM_contain()-i;
    				restnum.setText(""+i);
    				button1.setEnabled(false);
    			
    				try
					{
						FileOutputStream one=new FileOutputStream(file);
						ObjectOutputStream two=new ObjectOutputStream(one);
						two.writeObject(majorlist);
						one.close();
						two.close();
					}
					catch(Exception mse)
					{
						mse.printStackTrace();
					}
				}
				else if(j==1)
				{
				}
				
    
    		}
    		else if(me.getSource()==button2)
    		{
    			dispose();
    		}
    			
    	}
    		     		
    	void selectpanel()				//其他类不能用show,只好转到这里
    	{
    		this.show();
    	}
    		
    }
    
    public Major_select selectMajor(JFrame frame)
    {
    	return new Major_select(frame);
    }
    public boolean hasMajor(){
    	return hasMajor;
    }    	 
    public Major getMajor()
    {
    	return s_Major;
    }
          
	public BachlorStudent returnreference()
	{
		return this;
	} 
	public void showStudentInfo() {
		
        System.out.println("BachlorStudent: ");
        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());

	      					
        }	     			
}

⌨️ 快捷键说明

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