📄 example20_12.java
字号:
import java.io.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.border.*;class InputArea extends Panel implements ActionListener{ File f=null; RandomAccessFile out; Box baseBox ,boxV1,boxV2; TextField name,email,phone; Button button; InputArea(File f) { setBackground(Color.cyan); this.f=f; name=new TextField(12); email=new TextField(12); phone=new TextField(12); button=new Button("录入"); button.addActionListener(this); boxV1=Box.createVerticalBox(); boxV1.add(new Label("输入姓名")); boxV1.add(Box.createVerticalStrut(8)); boxV1.add(new Label("输入email")); boxV1.add(Box.createVerticalStrut(8)); boxV1.add(new Label("输入电话")); boxV1.add(Box.createVerticalStrut(8)); boxV1.add(new Label("单击录入")); boxV2=Box.createVerticalBox(); boxV2.add(name); boxV2.add(Box.createVerticalStrut(8)); boxV2.add(email); boxV2.add(Box.createVerticalStrut(8)); boxV2.add(phone); boxV2.add(Box.createVerticalStrut(8)); boxV2.add(button); baseBox=Box.createHorizontalBox(); baseBox.add(boxV1); baseBox.add(Box.createHorizontalStrut(10)); baseBox.add(boxV2); add(baseBox); } public void actionPerformed(ActionEvent e) { try{ RandomAccessFile out=new RandomAccessFile(f,"rw"); if(f.exists()) { long length=f.length(); out.seek(length); } out.writeUTF("姓名:"+name.getText()); out.writeUTF("eamil:"+email.getText()); out.writeUTF("电话:"+phone.getText()); out.close(); } catch(IOException ee){} }}public class Example20_12 extends Frame implements ActionListener{ File file=null; MenuBar bar; Menu fileMenu; MenuItem 录入,显示; TextArea show; InputArea inputMessage; CardLayout card=null; //卡片式布局. Panel pCenter; Example20_12() { file=new File("通讯录.txt"); 录入=new MenuItem("录入"); 显示=new MenuItem("显示"); bar=new MenuBar(); fileMenu=new Menu("菜单选项"); fileMenu.add(录入); fileMenu.add(显示); bar.add(fileMenu); setMenuBar(bar); 录入.addActionListener(this); 显示.addActionListener(this); inputMessage=new InputArea(file); show=new TextArea(12,20); card=new CardLayout(); pCenter=new Panel(); pCenter.setLayout(card); pCenter.add("录入",inputMessage); pCenter.add("显示",show); add(pCenter,BorderLayout.CENTER); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); setVisible(true); setBounds(100,50,420,380); validate(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==录入) { card.show(pCenter,"录入"); } else if(e.getSource()==显示) { int number=1; card.show(pCenter,"显示"); try{ RandomAccessFile in=new RandomAccessFile(file,"r"); String 姓名=null; while((姓名=in.readUTF())!=null) { show.append("\n"+number+" "+姓名); show.append(in.readUTF()); //读取email. show.append(in.readUTF()); //读取phone show.append("\n------------------------- "); number++; } in.close(); } catch(Exception ee){} } } public static void main(String args[]) { new Example20_12(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -