⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bankmain.java

📁 自己编的银行卡系统
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
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 + -