📄 bankmain.java
字号:
class WithdLargeDepositDlg extends Dialog implements ActionListener
//取款额大于现有存款窗口
{Button b;Label label;
WithdLargeDepositDlg(Frame F,String s,boolean p)
{super(F,s,p);
setLayout(new GridLayout(4,1));
b=new Button("确定");label=new Label("取款额大于现有存款,请检查输入!");
Panel panel=new Panel();
panel.setLayout(new GridLayout(1,5));
b.addActionListener(this);
add(new Panel());add(label);
panel.add(new Label());panel.add(new Label());
panel.add(b);panel.add(new Label());panel.add(new Label());
add(panel);
add(new Panel());
addWindowListener(new WindowAdapter()//窗口添加适配器
{public void windowClosing(WindowEvent e)
{setVisible(false);System.exit(0);}
});
pack();
setBounds(300,200,300,200);
setResizable(false);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b)
{setVisible(false);
}
}
}
class WriteFailedDlg extends Dialog implements ActionListener//取款失败
{Button b;Label label;
WriteFailedDlg(Frame F,String s,boolean p)
{super(F,s,p);
setLayout(new GridLayout(4,1));
b=new Button("确定");label=new Label("操作不成功,请重试!");
Panel panel=new Panel();
panel.setLayout(new GridLayout(1,5));
b.addActionListener(this);
add(new Panel());add(label);
panel.add(new Label());panel.add(new Label());
panel.add(b);panel.add(new Label());panel.add(new Label());
add(panel);
add(new Panel());
addWindowListener(new WindowAdapter()//窗口添加适配器
{public void windowClosing(WindowEvent e)
{setVisible(false);System.exit(0);}
});
pack();
setBounds(300,200,300,200);
setResizable(false);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b)
{setVisible(false);
}
}
}
class WithdrawTableFr extends Frame implements ActionListener//客户利息清单窗口
{
//姓名 账号+上次存取款后到取款时的利息+此次取款金额+剩余金额
PrintJob p=null; //声明一个打印对象
Graphics g=null;
Button b;
Label l_inMoneyInfoLabel;
Label l_name1,l_name2,l_account1,l_account2,
l_oldMoney1,l_oldMoney2,l_oldMoneyRate1,l_oldMoneyRate2,
l_withdrawMoney1,l_withdrawMoney2,l_balance1,l_balance2,l_date1,l_date2;
Panel p1,p2,p3,p4;
WithdrawTableFr()
{ b=new Button("打印");
l_name1=new Label("姓名:");
l_name2=new Label();
l_account1=new Label("帐号:");
l_account2=new Label();
l_oldMoney1=new Label("原有金额:");
l_oldMoney2=new Label();
l_oldMoneyRate1=new Label("应得利息:");
l_oldMoneyRate2=new Label();
l_withdrawMoney1=new Label("取款额:");
l_withdrawMoney2=new Label();
l_balance1=new Label("剩余金额:");
l_balance2=new Label();
l_date1=new Label("取款日期:");
l_date2=new Label();
l_inMoneyInfoLabel=new Label("客户利息清单:");
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();
//下面将添加组件
p1.setLayout(new GridLayout(1,3));
p1.add(new Label());p1.add(l_inMoneyInfoLabel); p1.add(new Label());
p2.setLayout(new GridLayout(7,2));
p2.add(l_name1); p2.add(l_name2);
p2.add(l_account1);p2.add(l_account2);
p2.add(l_date1);p2.add(l_date2);
p2.add(l_oldMoney1); p2.add(l_oldMoney2);
p2.add(l_oldMoneyRate1); p2.add(l_oldMoneyRate2);
p2.add(l_withdrawMoney1); p2.add(l_withdrawMoney2);
p2.add(l_balance1); p2.add(l_balance2);
p3.setLayout(new BorderLayout());
p3.add("North",p1);p3.add("Center",p2);
p4.setLayout(new GridLayout(1,3));
p4.add(new Label());p4.add(b);p4.add(new Label());
add("Center",p3);
add("North",new Label());
add("South",p4);
add("East",new Label());
add("West",new Label());
b.addActionListener(this);
addWindowListener(new WindowAdapter()//窗口添加适配器
{public void windowClosing(WindowEvent e)
{setVisible(false);}
});
setBounds(300,200,450,250);
setResizable(false);
}
void initial(String name,String account,String oldMoney,
String oldMoneyRate,String withdrawMoney,String balance,String date)
{ l_name2.setText(name);
l_account2.setText(account);
l_oldMoney2.setText(oldMoney);
l_oldMoneyRate2.setText(oldMoneyRate);
l_withdrawMoney2.setText(withdrawMoney);
l_balance2.setText(balance);
l_date2.setText(date);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b)//开始打印
{p=getToolkit().getPrintJob(this,"ok",null);
//创建一个打印对象p
//p获取一个用于打印的Graphics对象
g=p.getGraphics();
g.translate(120,200);
p3.printAll(g);
g.dispose();
p.end();
setVisible(false);
}
}
}
/*********************************************************************************/
// 下面是存款窗口
class InputDepositFr extends Frame implements ActionListener//存款窗口
{ RandomAccessFile file_write;
String file_name="custom.txt";
WriteFailedDlg writeFailedDlg;
DepositTableFr depositTableFr;
Check_numberExceptDlg check_numberExceptDlg;
InputMoneyPanel inputmoneyPanel;
Button b1,b2;
Label l_information;
Panel panel1;
InputDepositFr(String s)
{ super(s);
writeFailedDlg=new WriteFailedDlg(this,"错误",true);
writeFailedDlg.setVisible(false);
check_numberExceptDlg=new Check_numberExceptDlg(this,"错误",true);
check_numberExceptDlg.setVisible(false);
depositTableFr=new DepositTableFr();
depositTableFr.setVisible(false);
b1=new Button("存款");
b2=new Button("取消");
l_information=new Label("请填写客户存款金额信息:");
panel1=new Panel();
inputmoneyPanel=new InputMoneyPanel();
panel1.add(b1);panel1.add(b2);
add("North",l_information);add("Center",inputmoneyPanel);add("South",panel1);
add("West",new Panel());add("East",new Panel());
b1.addActionListener(this);
b2.addActionListener(this);
setBounds(300,200,400,350);
setResizable(false);
addWindowListener(new WindowAdapter()//窗口添加适配器
{public void windowClosing(WindowEvent e)
{setVisible(false);System.exit(0);}
});
}
private void InDeposit()
{String inMoneyAmount;
String name,account,oldMoney,
balance,newMoney,type,rate="0.01";
String temp1,accNumber;
double d_inMoneyAmount,d_oldMoney,d_newMoney;
long l_account,len;
try
{inMoneyAmount=inputmoneyPanel.t_inMoneyAmount.getText();
name=inputmoneyPanel.l_name2.getText();
account=inputmoneyPanel.l_account2.getText();
type=inputmoneyPanel.l_type2.getText();
oldMoney=inputmoneyPanel.l_oldMoney2.getText();
l_account=Long.parseLong(account);
d_oldMoney=Double.valueOf(oldMoney).doubleValue();
d_inMoneyAmount=Double.valueOf(inMoneyAmount).doubleValue();
d_newMoney=d_oldMoney+d_inMoneyAmount;
newMoney=String.valueOf(d_newMoney); ///////////取款数额大于存款额怎么办?????????
/*得到存款日期*/
temp1=inputmoneyPanel.l_date2.getText();
try
{try{file_write=new RandomAccessFile(file_name,"rw");}
catch(FileNotFoundException e1){writeFailedDlg.setVisible(true);}
len=file_write.length();//获得文件长
long filePoint=0;
file_write.seek(0);
file_write.readUTF();
while(filePoint<=len)
{
accNumber=file_write.readUTF();
/*设计有点个性化了*/
if(account.equals(accNumber))
{ file_write.readUTF();file_write.readUTF(); //只为了移动指针
file_write.readUTF();type=file_write.readUTF();type=file_write.readUTF(); //只为了移动指针
type=file_write.readUTF();type=file_write.readUTF();//只为了移动指针
file_write.writeUTF(temp1); //获得上次存储时间
file_write.writeDouble(d_newMoney);
if(type.equals("定期存款"))
rate="0.01";
else if(type.equals("活期存款"))
rate="0.02";
depositTableFr.initial(name,account,type,rate,inMoneyAmount,newMoney,temp1);
inputmoneyPanel.t_inMoneyAmount.setText("");
setVisible(false);
depositTableFr.setVisible(true);
break;
}
else
{
file_write.readUTF();file_write.readUTF();file_write.readUTF();file_write.readUTF();
file_write.readUTF();file_write.readUTF();file_write.readUTF();file_write.readUTF();
file_write.readDouble();
//只为了移动指针
}
/////
filePoint=file_write.getFilePointer();
}
file_write.close();
}
catch(IOException e11){writeFailedDlg.setVisible(true);}
}
catch(NumberFormatException event){check_numberExceptDlg.setVisible(true);}
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b1)
{ InDeposit();
}
if(e.getSource()==b2)
{setVisible(false);
inputmoneyPanel.t_inMoneyAmount.setText("");
}
}
}
class InputMoneyPanel extends Panel//嵌入InputDepositFr的面板
{ TextField t_inMoneyAmount;
Panel p;
Label l_inMoneyInfoLabel;
Label l_name1,l_name2,l_account1,l_account2,
l_type1,l_type2,l_oldMoney1,l_oldMoney2,l_date1,l_date2;
InputMoneyPanel()
{ t_inMoneyAmount=new TextField(30);
p=new Panel();
l_name1=new Label("姓名:");
l_name2=new Label();
l_account1=new Label("帐号:");
l_account2=new Label();
l_type1=new Label("账户类型:");
l_type2=new Label();
l_oldMoney1=new Label("现有金额:");
l_oldMoney2=new Label();
l_inMoneyInfoLabel=new Label("请输入存款金额:");
l_date1=new Label("存款日期");
l_date2=new Label();
//下面将添加组件
setLayout(new GridLayout(10,2));
add(l_name1);add(l_name2);
add(l_account1);add(l_account2);
add(l_type1);add(l_type2);
add(l_oldMoney1);add(l_oldMoney2);
add(l_date1);add(l_date2);
add(l_inMoneyInfoLabel);add(new Label());
add(t_inMoneyAmount);add(new Label());
}
void initial(String name,String account,String type,String oldMoney,String date)
{ l_name2.setText(name);
l_account2.setText(account);
l_type2.setText(type);
l_oldMoney2.setText(oldMoney);
l_date2.setText(date);
}
}
class DepositTableFr extends Frame implements ActionListener//客户存款清单窗口
{
PrintJob p=null; //声明一个打印对象
Graphics g=null;
Button b;
Label l_inMoneyInfoLabel;
Label l_name1,l_name2,l_account1,l_account2,
l_type1,l_type2,l_depositMoney1,l_depositMoney2,
l_rate1,l_rate2,l_date1,l_date2,l_tolal1,l_tolal2;
Panel p1,p2,p3,p4;
DepositTableFr()
{ b=new Button("打印");
l_name1=new Label("姓名:");
l_name2=new Label();
l_account1=new Label("帐号:");
l_account2=new Label();
l_type1=new Label("存款类型:");
l_type2=new Label();
l_date1=new Label("存款日期");
l_date2=new Label();
l_depositMoney1=new Label("本次存款额:");
l_depositMoney2=new Label();
l_rate1=new Label("利率:");
l_rate2=new Label();
l_tolal1=new Label("账户总金额:");
l_tolal2=new Label();
l_inMoneyInfoLabel=new Label("客户存款清单:");
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();
//下面将添加组件
p1.setLayout(new GridLayout(1,3));
p1.add(new Label());p1.add(l_inMoneyInfoLabel); p1.add(new Label());
p2.setLayout(new GridLayout(7,2));
p2.add(l_name1); p2.add(l_name2);
p2.add(l_account1);p2.add(l_account2);
p2.add(l_type1); p2.add(l_type2);
p2.add(l_date1); p2.add(l_date2);
p2.add(l_depositMoney1); p2.add(l_depositMoney2);
p2.add(l_rate1); p2.add(l_rate2);
p2.add(l_tolal1); p2.add(l_tolal2);
p3.setLayout(new BorderLayout());
p3.add("North",p1);p3.add("Center",p2);
p4.setLayout(new GridLayout(1,3));
p4.add(new Label());p4.add(b);p4.add(new Label());
add("Center",p3);
add("North",new Label());
add("South",p4);
add("East",new Label());
add("West",new Label());
b.addActionListener(this);
addWindowListener(new WindowAdapter()//窗口添加适配器
{public void windowClosing(WindowEvent e)
{setVisible(false);}
});
setBounds(300,200,450,250);
setResizable(false);
}
void initial(String name,String account,String type,
String rate,String depositMoney,String total,String date)
{ l_name2.setText(name);
l_account2.setText(account);
l_type2.setText(type);
l_depositMoney2.setText(depositMoney);
l_rate2.setText(rate);
l_tolal2.setText(total);
l_date2.setText(date);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==b)//开始打印
{p=getToolkit().getPrintJob(this,"ok",null);
//创建一个打印对象p
//p获取一个用于打印的Graphics对象
g=p.getGraphics();
g.translate(120,200);
p3.printAll(g);
g.dispose();
p.end();
setVisible(false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -