日期:2014-05-20  浏览次数:20932 次

急求!!!!!用RandomAccessFile实验名片记录本
用RandomAccessFile实验名片记录本,设计一个具有 GUI 界面的名片记录本 , 可以记录新的名片信息、浏览名片记录。
实现功能:1、程序可以实现在当前路径下的 card.dat中增加名片信息。运行该程序 , 用记事本打开当前目录中 "card.dat", 观察是否有数据读入。
2、添加 firstBtn" 第一个 " 和 nextBtn" 下一个 " 按钮到 sPanel 面板组件 , 并监视它们的动作。用它们分别实现对指定文件 Card.dat 的第一个记录的浏览和向下依次按顺序浏览记录。
3、增加两个按钮 perBtn" 上一个 "( 向前浏览 , 如果当前记录已经是第一记录 , 则显示第一条记录 ) 和 lastBtn" 最后一个 "( 浏览最后一个记录 ,如果当前记录已经是最后一个记录 , 则显示最后一条记录 ) 。
我的程序是:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardManagement3 extends JFrame implements ActionListener{
JLabel nameLabel,sexLabel,titleLabel,unitLabel;
JLabel addressLabel,telLabel1,telLabel2,mobileLabel,faxLabel,emailLabel;
JTextField nameTxt,unitTxt,addressTxt,telTxt1,telTxt2,mobileTxt,faxTxt,emailTxt;
JRadioButton sexBtn1,sexBtn2;
JComboBox titleBx;
String title[]={"总裁","总经理","经理","主任","处长","院长","校长","科长","教授","讲师"};
JButton firstBtn,nextBtn,addBtn,perBtn,lastBtn;
JPanel centerPanel,sPanel;
GridBagLayout layout;
GridBagConstraints constraints;
RandomAccessFile file;
public CardManagement3() {
super("名片管理");
try{
file=new RandomAccessFile("card.dat","rw");
//利用RandomAccessFile,以读写方式打开文件card.dat
}catch(IOException ex){
System.err.println(ex.getMessage());
System.exit(0);
}
Container c=getContentPane();
c.setLayout(new BorderLayout());
layout=new GridBagLayout();
centerPanel=new JPanel(layout);
sPanel=new JPanel();
setComponent();//设置在centerPanel和sPanel的组件;
c.add(centerPanel,BorderLayout.CENTER);
c.add(sPanel,BorderLayout.SOUTH);
pack();
setVisible(true);
}//构造方法
public void setComponent(){//设置GUI组件
constraints=new GridBagConstraints();//创建网格包限制对象;
nameLabel=new JLabel("姓名");
nameTxt=new JTextField(10);
addComponent(nameLabel,0,0,1,1);
addComponent(nameTxt,0,1,1,2);
sexLabel=new JLabel("性别");
sexBtn1=new JRadioButton("男",false);
sexBtn2=new JRadioButton("女",true);
ButtonGroup group=new ButtonGroup();
group.add(sexBtn1);
group.add(sexBtn2);
addComponent(sexLabel,0,4,1,1);
addComponent(sexBtn1,0,5,1,1);
addComponent(sexBtn2,0,6,1,1);
titleLabel=new JLabel("称谓");
titleBx=new JComboBox(title);
titleBx.setMaximumRowCount(5);
addComponent(titleLabel,0,7,1,1);
addComponent(titleBx,0,8,1,1);
unitLabel=new JLabel("工作单位");
unitTxt=new JTextField(30);
addComponent(unitLabel,1,0,1,1);
addComponent(unitTxt,1,2,1,8);
addressLabel=new JLabel("工作地址");
addressTxt=new JTextField(30);
addComponent(addressLabel,2,0,1,1);
addComponent(addressTxt,2,2,1,8);
telLabel1=new JLabel("电话");
telTxt1=new JTextField(15);
addComponent(telLabel1,3,0,1,1);
addComponent(telTxt1,3,1,1,4);
telLabel2=new JLabel("电话");
telTxt2=new JTextField(15);
addComponent(telLabel2,3,5,1,1);
addComponent(telTxt2,3,6,1,4);
mobileLabel=new JLabel("手机");
mobileTxt=new JTextField(15);
addComponent(mobileLabel,4,0,1,1);
addComponent(mobileTxt,4,1,1,4);
faxLabel=new JLabel("传真");
faxTxt=new JTextField(15);
addComponent(faxLabel,4,5,1,1);
addComponent(faxTxt,4,6,1,4);
emailLabel=new JLabel("E-mail");
emailTxt=new JTextField(32);
addComponent(emailLabel,5,0,1,1);
addComponent(emailTxt,5,1,1,8);
firstBtn=new JButton("第一个");