?? bankatm.java
字號(hào):
/* * 本類實(shí)現(xiàn)不同ATM處訪問(wèn)同一個(gè)賬戶的情況 */package guiPackage;import static userPackage.ManageUser.findUser;import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class BankATM implements ActionListener{ private JFrame frame; private Container contentPane; private JButton okBtn,viewBtn,certainBtn,saveBtn,getBtn,exitBtn; private JTextField inputField; private JLabel message; private double value=0.0; private String name; private String password; public BankATM(int i,String subName,String subPassword) { this.name=subName; this.password=subPassword; frame=new JFrame(i+" 號(hào)ATM取款機(jī)"); frame.setBounds(80+(i-1)*310,400,300,300); frame.setResizable(false); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); contentPane=frame.getContentPane(); initGUI(); } public void initGUI() { contentPane.setLayout(new BorderLayout()); saveBtn=new JButton("存款"); okBtn=new JButton("確定"); okBtn.setVisible(false); viewBtn=new JButton("查看"); getBtn=new JButton("取款"); certainBtn=new JButton("確定"); exitBtn=new JButton("退出"); certainBtn.setVisible(false); JPanel p1=new JPanel(); JPanel p2=new JPanel(new GridLayout(2,3,5,5)); inputField=new JTextField("",10); inputField.setVisible(false); message=new JLabel("歡迎您使用ATM自動(dòng)取款機(jī)!"); System.out.println(name); System.out.println(password); p1.add(message); p1.add(inputField); p2.add(saveBtn); p2.add(okBtn); p2.add(viewBtn); p2.add(getBtn); p2.add(certainBtn); p2.add(exitBtn); contentPane.add(p1,BorderLayout.CENTER); contentPane.add(p2,BorderLayout.SOUTH); okBtn.addActionListener(this); viewBtn.addActionListener(this); certainBtn.addActionListener(this); saveBtn.addActionListener(this); getBtn.addActionListener(this); exitBtn.addActionListener(this); } public void actionPerformed(ActionEvent e) { if(e.getSource()==okBtn) { String s=inputField.getText().trim(); if(s.length()!=0) { double amount=Double.parseDouble(s); if(findUser(this.name,this.password).getAccount().deposit(amount)) new putMoney(amount); } else message.setText("請(qǐng)正確輸入!"); inputField.grabFocus(); } if(e.getSource()==viewBtn) { new viewMoney(); inputField.setEnabled(false); inputField.setVisible(false); certainBtn.setVisible(false); okBtn.setVisible(false); saveBtn.setVisible(true); getBtn.setVisible(true); } if(e.getSource()==certainBtn) { String s=inputField.getText().trim(); if(s.length()!=0) { double amount=Double.parseDouble(s); //System.out.println("name:"+name+"password:"+password); new getMoney(amount); //if(findUser(name, password).getAccount().withdraw(amount)) //new getMoney(amount); } else message.setText("請(qǐng)正確輸入!"); inputField.grabFocus(); } if(e.getSource()==saveBtn) { saveBtn.setVisible(true); getBtn.setVisible(false); certainBtn.setVisible(false); okBtn.setVisible(true); message.setText("請(qǐng)輸入存款金額:"); inputField.setEnabled(true); inputField.setVisible(true); inputField.setText(""); inputField.grabFocus(); } if(e.getSource()==getBtn) { certainBtn.setVisible(true); okBtn.setVisible(false); saveBtn.setVisible(true); message.setText("請(qǐng)輸入取款金額:"); inputField.setEnabled(true); inputField.setVisible(true); inputField.setText(""); inputField.grabFocus(); } if(e.getSource()==exitBtn) { frame.hide(); } } synchronized public void put(double k) { if(k%10==0) { double value = (findUser(this.name,this.password).getAccount().getBalance()); //value=value+k; message.setText("ATM機(jī)存款"+k+"元,現(xiàn)在您的余額:"+value); inputField.setVisible(false); okBtn.setVisible(false); getBtn.setVisible(true); } else message.setText("ATM機(jī)最低面值為50元!請(qǐng)正確輸入!"); } synchronized public void get(double k) { value=findUser(name, password).getAccount().getBalance(); if(value-k<0){ message.setText("對(duì)不起!你的賬戶余額不足!"); inputField.setVisible(false); certainBtn.setVisible(false); }else if(value>=k&&k>=50&&k%10==0) { findUser(name, password).getAccount().withdraw(k); //double value = (findUser(name, password).getAccount().getBalance()); //value=value-k; value=findUser(name, password).getAccount().getBalance(); message.setText("ATM機(jī)取款"+k+"元,現(xiàn)在您的余額:"+value); inputField.setVisible(false); certainBtn.setVisible(false); saveBtn.setVisible(true); } else message.setText("ATM機(jī)最低面值為50元!請(qǐng)正確輸入!"); } public void view() { double value = (findUser(name, password).getAccount().getBalance()); message.setText("您帳戶的余額:"+value); } class putMoney implements Runnable { private double value; public putMoney(double value) { this.value=value; (new Thread(this)).start(); } public void run() { put(value); } } class getMoney extends Thread { private double value; public getMoney(double value) { this.value=value; (new Thread(this)).start(); } public void run() { get(value); } } class viewMoney extends Thread { public viewMoney() { (new Thread(this)).start(); } public void run() { view(); } } public void go() { frame.setVisible(true); } /*public static void main(String args[]) { (new bank(1)).go(); (new bank(2)).go(); (new bank(3)).go(); }*/}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -