📄 studentinformation.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 + -