📄 addrecordbutton.java
字号:
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
//
//AddRecordButton.java
//
//建立“添加记录”监听器
class AddRecordButton extends I_O_Button
implements ActionListener {
public AddRecordButton(String s,Font f,String str) {
super(s,f);
addActionListener(this);
i_o_string=str;
if(str.equals("收入")) i_o="i";
if(str.equals("支出")) i_o="o";
}
public void actionPerformed(ActionEvent e) {
String date=JOptionPane.showInputDialog
("请输入(按照格式:2002-4-10)日期:");
String name=JOptionPane.showInputDialog
("请输入这笔"+i_o_string+"的名称:");
double amount=Double.parseDouble(JOptionPane.showInputDialog
("请输入这笔"+i_o_string+"的数量:"));
String explanation=JOptionPane.showInputDialog
("请输入有关这笔"+i_o_string+"的备注:");
One_record[] record;
//***************** 以下是提取文件操作 ******************************
try {
//读原来的文件
RandomAccessFile in=new
RandomAccessFile("records_"+i_o+".dat","rw");
int n=(int)(in.length()/One_record.RECORD_SIZE);
record=new One_record[n];
for(int i=n-1;i>=0;i--) {
record[i]=new One_record();
in.seek(i*One_record.RECORD_SIZE);
record[i].readData(in);
}
//保存原有的和现在的
One_record oner=new One_record(date,name,amount,explanation);
DataOutputStream out=new DataOutputStream(new
FileOutputStream("records_"+i_o+".dat"));
for(int i=0;i<record.length;i++)
record[i].writeData(out);
oner.writeData(out);
out.close();
}
catch(IOException ioe) {
System.out.print("Error: "+ioe);
System.exit(1);
}
//****************** 结束保存输入的操作 ********************************
}
private String i_o,i_o_string;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -