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

📄 studentinformation.java.bak

📁 本程序是用JAVA编写的用以处理毕业学生信息的小程序
💻 BAK
字号:
//-------------------4 学生信息维护   -----------------
import java.io.*;
import java.awt.*;
import java.awt.List;
import java.awt.event.*;
import java.util.Stack;

public class StudentInformation {
  public static void main(String args[]) {
    new FileFrame();
  }
}
/*****************interfacd***********************/
class FileFrame extends Frame  {
  Label snolabel = new Label("学号");
  Label snamelabel = new Label("          姓名");
  Label sexlabel = new Label("性别");
  Label classlabel = new Label("       班级");
  Label resumelabel = new Label("简历");
  Label imagelabel = new Label("相片");
  TextField sno = new TextField(6);   
  TextField sname = new TextField(10);   
  TextField msg = new TextField(30);   
  TextArea resume = new TextArea(5,20);  
  CheckboxGroup sex = new CheckboxGroup();
  Checkbox sex1 = new Checkbox("男", true,sex );
  Checkbox sex2 = new Checkbox("女", false,sex );
  Toolkit toolkit ;
  boolean drawPicture = false;
  Image  stuImage ;
  TextField picname = new TextField(10);
  Button reset = new Button("  reset   ");
  Button next =  new Button("   next   ");
  Button prior = new Button("   prior  ");   
  Button insert = new Button("   insert ");
  Button exit = new Button("    exit   ");
  List l = new List(6,true );
    
  Panel p1,p2,p3,p4,p5 ;
  File f ;
  RandomAccessFile fs ;
  //******* My_Code1 **************************
  Stack sFilePointer = new Stack();	// Stack for save File Pointer
  Long	 lCurrentFP;			// Long,Current File Pointer
  //******* End_Of_My_Code1 *******************
  FileFrame() {

    super("学生信息维护界面");
    setSize(550,400);
    setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10));  
    
   p1 = new Panel();

    p1.add(snolabel);p1.add(sno);p1.add(snamelabel);p1.add(sname); 
   add(p1);

   p2 = new Panel();
    l.add("力01");  
    l.add("文01");
    l.add("物01");
    l.add("生01"); 
    l.add("热01");
    l.add("化01");
    p2.add(sexlabel);p2.add(sex1);p2.add(sex2);p2.add(classlabel);p2.add(l); 
   add(p2);

   p3 = new Panel();
    p3.add(resumelabel);p3.add(resume);p3.add(imagelabel);p3.add(picname);
    
   add(p3);

   p4 = new Panel();
   p4.add(reset);p4.add(next);p4.add(prior);
   p4.add(insert);p4.add(exit); 
    reset.addActionListener(new eset());
    next.addActionListener(new en());
    prior.addActionListener(new ep());
    insert.addActionListener(new ei());
    exit.addActionListener(new ee());
   add(p4);
   p5 = new Panel();
    p5.add(msg);
   add(p5);
  try{
    f = new File("students.dat");
    fs = new RandomAccessFile(f,"rw");
  }
  catch(Exception ex){
    msg.setText(ex.getMessage());
  } 
  toolkit=getToolkit();
  setVisible(true);
}
/*****************end of interface***********************/
  public void paint(Graphics g) {
      if (drawPicture)g.drawImage(stuImage ,360,180,this);
  }

  class en implements ActionListener{
    public void actionPerformed(ActionEvent e){
     try{
     //******* My_Code2 ***************************
     lCurrentFP = new Long(fs.getFilePointer());
      sFilePointer.push(lCurrentFP);		// save file pointer
     //******* End_Of_My_Code2 ********************
     
      sno.setText(Integer.toString(fs.readInt()));  	//读学号
      sname.setText(fs.readUTF());                  	//读姓名 
      if(fs.readChar() =='m')                   	//读性别(m/w)
        sex1.setState(true);
      else
        sex2.setState(true);
      String s1 = fs.readUTF();                      	//读班级 
      for(int i=0;i<l.getItemCount();i++) {
        if(l.getItem(i).indexOf(s1)>-1)  l.select(i);
      }
      String s2 = fs.readUTF();                      	//读简历
      resume.setText("");  resume.append(s2);
      
      String s3 = fs.readUTF();                 	//读相片文件名
      picname.setText(s3);
      stuImage = toolkit.getImage(s3);
      drawPicture = true ;
      repaint();
     }
     catch(Exception ex){
      msg.setText(ex.getMessage());
     }      
    }  //end of method
  }  //end of class eq

  class eset implements ActionListener{
    public void actionPerformed(ActionEvent e){
      try{
        fs.seek(0);
        sno.setText("");
        sname.setText(""); 
        sex1.setState(true);
        l.select(0);
        resume.setText("");
        picname.setText("");
        drawPicture = false ;
        repaint();
      }catch(Exception eSeek){
         msg.setText(eSeek.getMessage());
       }
    }
  }

  class ep implements ActionListener{
    public void actionPerformed(ActionEvent e){
    //******* My_Code3 ************************
     if(sFilePointer.empty())
      	return;		// begin of the file,return
    //******* End_Of_My_Code3 *****************
     try{
     //******* My_Code4 ************************** 
      lCurrentFP =(Long)sFilePointer.pop();		// pop file Pointer
      fs.seek(lCurrentFP.longValue());			// seek position
     //******* End_Of_My_Code4 *******************  
      sno.setText(Integer.toString(fs.readInt()));  	//读学号
      sname.setText(fs.readUTF());                  	//读姓名 
      if(fs.readChar() =='m')                   	//读性别(m/w)
        sex1.setState(true);
      else
        sex2.setState(true);
      String s1 = fs.readUTF();                      	//读班级 
      for(int i=0;i<l.getItemCount();i++) {
        if(l.getItem(i).indexOf(s1)>-1)  l.select(i);
      }
      String s2 = fs.readUTF();                      	//读简历
      resume.setText("");  resume.append(s2);
      String s3 = fs.readUTF();                 	//读相片文件名
      picname.setText(s3);
      stuImage = toolkit.getImage(s3);
      drawPicture = true ;
      repaint();
     }
     catch(Exception ex){
      msg.setText(ex.getMessage());
     }      
    }
  }

  class ei implements ActionListener{
    public void actionPerformed(ActionEvent e){
      try{
        fs.seek(fs.length());
        fs.writeInt(Integer.parseInt(sno.getText()));
        fs.writeUTF(sname.getText());
        if(sex1.getState()) 
            fs.writeChar('m');
        else
            fs.writeChar('w');
        fs.writeUTF(l.getSelectedItem());
        fs.writeUTF(resume.getText());
        fs.writeUTF(picname.getText());       
      repaint();
      }
      catch(Exception ex) {
	msg.setText(ex.getMessage());
      }  
    }
  }  
  class ee implements ActionListener{
    public void actionPerformed(ActionEvent e){
      dispose();
      System.exit(0);
    }
  }  
}

⌨️ 快捷键说明

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