<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    模擬銀行存儲實驗---GUI實現

    Posted on 2006-10-26 08:15 久城 閱讀(562) 評論(0)  編輯  收藏 所屬分類: JavaTest
    把前兩天做的實驗用GUI實現...

    主要的接口都沒有變,所以實現比較容易...

    代碼如下:
    ??1/**
    ??2*title?模擬銀行存儲實驗——GUI實現
    ??3*@author?realsmy
    ??4*date?2006-10-26?8:10
    ??5*/

    ??6
    ??7import?java.io.*;
    ??8import?java.awt.*;
    ??9import?javax.swing.*;
    ?10import?java.awt.event.*;
    ?11import?javax.swing.JPanel.*;
    ?12
    ?13//login?applicatiion
    ?14class?Login?extends?JFrame{
    ?15????Container?c;
    ?16????JTextField?text;
    ?17????JPasswordField?password;
    ?18????MyPanel?panel;
    ?19????JLabel?label_name,label_password;
    ?20????JButton?button1,button2;
    ?21????String?lg_name,lg_password;
    ?22????File?fl;//帳戶資料文件聲明
    ?23????Login(){
    ?24????????super("模擬銀行存儲系統");
    ?25????????c?=?getContentPane();
    ?26????????c.setLayout(new?BorderLayout());
    ?27????????//初始化組件
    ?28????????text?=?new?JTextField();
    ?29????????password?=?new?JPasswordField();
    ?30????????label_name?=?new?JLabel("教工號?:");
    ?31????????label_password?=?new?JLabel("密????碼?:");
    ?32????????panel?=?new?MyPanel();
    ?33????????button1?=?new?JButton("LOGIN");
    ?34????????button2?=?new?JButton("RESET");
    ?35????????//添加監聽
    ?36????????button1.addActionListener(new?ActionListener()
    ?37????????{
    ?38????????????public?void?actionPerformed(ActionEvent?e)
    ?39????????????{
    ?40????????????????lg_name?=?text.getText();
    ?41????????????????lg_password??=?password.getText();
    ?42????????????????if?(?lg_name.equals("admin")?&&?lg_password.equals("admin")){
    ?43????????????????????setVisible(false);
    ?44????????????????????GuanLi?gl?=?new?GuanLi();?
    ?45????????????????????gl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    ?46????????????????}

    ?47????????????????else{
    ?48????????????????????try{
    ?49????????????????????????fl?=?new?File("frozen",lg_name+".txt");
    ?50????????????????????????if(fl.exists()){
    ?51????????????????????????????JOptionPane.showMessageDialog(null,"對不起,您的帳戶已被凍結!");
    ?52????????????????????????}

    ?53????????????????????????else{
    ?54????????????????????????????fl?=?new?File(lg_name+".txt");
    ?55????????????????????????????//判斷帳戶是否存在
    ?56????????????????????????????if(!fl.exists()){
    ?57????????????????????????????????JOptionPane.showMessageDialog(null,"對不起,您輸入的帳戶并不存在,請重新輸入:");
    ?58????????????????????????????}

    ?59????????????????????????????else{
    ?60????????????????????????????//帳戶存在,開始判斷密碼
    ?61????????????????????????????????BufferedReader?reader?=?new?BufferedReader(new?FileReader(?lg_name?+?".txt"));
    ?62????????????????????????????????String?pw?=?reader.readLine();
    ?63????????????????????????????????int?money?=?Integer.parseInt(reader.readLine());
    ?64????????????????????????????????//判斷密碼
    ?65????????????????????????????????if(lg_password.equals(pw)){
    ?66????????????????????????????????????JOptionPane.showMessageDialog(null,"登陸成功\n"+"您的用戶尚有余額"+money+"");
    ?67????????????????????????????????????ZhangHu?zh?=?new?ZhangHu(lg_name,lg_password,money);
    ?68????????????????????????????????????setVisible(false);
    ?69????????????????????????????????????YongHu?yh?=?new?YongHu(zh);
    ?70????????????????????????????????????yh.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    ?71????????????????????????????????}

    ?72????????????????????????????????else{
    ?73????????????????????????????????????JOptionPane.showMessageDialog(null,"對不起,您輸入的密碼不正確,請重新輸入:");
    ?74????????????????????????????????}

    ?75????????????????????????????}

    ?76????????????????????????}
    ????????
    ?77????????????????????}
    catch(HeadlessException?a){}catch(IOException?b){}
    ?78????????????????}

    ?79????????????}

    ?80????????}
    );
    ?81????????button2.addActionListener(new?ActionListener()
    ?82????????{
    ?83????????????public?void?actionPerformed(ActionEvent?e)
    ?84????????????{
    ?85????????????????text.setText("");
    ?86????????????????password.setText("");
    ?87????????????}

    ?88????????}
    );
    ?89
    ?90????????//設置容器
    ?91????????panel.setLayout(new?GridLayout(3,2,10,15));
    ?92????????panel.add(label_name);
    ?93????????panel.add(text);
    ?94????????panel.add(label_password);
    ?95????????panel.add(password);
    ?96????????panel.add(button1);
    ?97????????panel.add(button2);
    ?98????????
    ?99????????c.add(panel,BorderLayout.CENTER);
    100????????setSize(300,200);
    101????????setLocation(300,200);
    102????????setVisible(true);
    103????}

    104}

    105
    106//定義管理界面
    107class?GuanLi?extends?JFrame{
    108????private?Container?c;
    109????JButton?button1,button2,button3,button4;
    110????MyPanel?panel;
    111????JLabel?label1,label2;
    112????Manager?manager;
    113????//String?name,password,password2;
    114????//int?money;
    115????GuanLi(){
    116????????super("模擬銀行存儲系統");
    117????????c?=?getContentPane();
    118????????c.setLayout(new?BorderLayout());
    119????????//數據初始化
    120????????//button?=?new?JButton("");
    121????????panel?=?new?MyPanel();
    122????????label1?=?new?JLabel("歡迎光臨趙家銀行!");
    123????????label2?=?new?JLabel("請選擇你要進行的操作:");
    124????????button1?=?new?JButton("1.添加帳戶");
    125????????button2?=?new?JButton("2.刪除用戶");
    126????????button3?=?new?JButton("3.凍結用戶");
    127????????button4?=?new?JButton("4.退出");
    128????????
    129????????//按鈕監聽
    130????????button1.addActionListener(new?ActionListener(){
    131????????????public?void?actionPerformed(ActionEvent?e){
    132????????????????manager?=?new?Manager();
    133????????????????manager.add();
    134????????????}

    135????????}
    );
    136????????button2.addActionListener(new?ActionListener(){
    137????????????public?void?actionPerformed(ActionEvent?e){
    138????????????????manager?=?new?Manager();
    139????????????????manager.del();
    140????????????}

    141????????}
    );
    142????????button3.addActionListener(new?ActionListener()
    143????????{
    144????????????public?void?actionPerformed(ActionEvent?e){
    145????????????????manager?=?new?Manager();
    146????????????????manager.froze();
    147????????????}

    148????????}
    );
    149????????button4.addActionListener(new?ActionListener()
    150????????{
    151????????????public?void?actionPerformed(ActionEvent?e)
    152????????????{
    153????????????????System.exit(0);
    154????????????}

    155????????}
    );
    156????????panel.setLayout(new?GridLayout(6,1,50,5));
    157????????//c.setLayout(new?GridLayout(4,2));
    158????????panel.add(label1);
    159????????panel.add(label2);
    160????????panel.add(button1);
    161????????panel.add(button2);
    162????????panel.add(button3);
    163????????panel.add(button4);
    164
    165????????c.add(panel);
    166????????setSize(400,300);
    167????????setLocation(300,200);
    168????????setVisible(true);
    169????}

    170}

    171
    172//定義用戶界面
    173class?YongHu?extends?JFrame{
    174????private?Container?c;
    175????JButton?button1,button2,button3,button4;
    176????MyPanel?panel;
    177????JLabel?label1,label2;
    178????ZhangHu?zhanghu,zhanghu2;
    179????//String?name,password,password2;
    180????String?toname,password;
    181????int?money,money2,money3;
    182????File?fl;
    183????YongHu(ZhangHu?zh){
    184????????super("模擬銀行存儲系統");
    185????????zhanghu?=?zh;
    186????????c?=?getContentPane();
    187????????c.setLayout(new?BorderLayout());
    188????????//數據初始化
    189????????panel?=?new?MyPanel();
    190????????label1?=?new?JLabel("歡迎光臨趙家銀行!");
    191????????label2?=?new?JLabel("請選擇你要進行的操作:");
    192????????button1?=?new?JButton("1.存錢");
    193????????button2?=?new?JButton("2.取錢");
    194????????button3?=?new?JButton("3.轉帳");
    195????????button4?=?new?JButton("4.退出");
    196????????
    197????????//按鈕監聽
    198????????button1.addActionListener(new?ActionListener(){
    199????????????public?void?actionPerformed(ActionEvent?e){
    200????????????????try{
    201????????????????????money?=?Integer.parseInt(JOptionPane.showInputDialog(null,"請輸入您要存入的金額:"));
    202????????????????}
    catch(HeadlessException?o){}
    203????????????????zhanghu.setM(money);
    204????????????????infile(zhanghu);
    205????????????}

    206????????}
    );
    207????????button2.addActionListener(new?ActionListener(){
    208????????????public?void?actionPerformed(ActionEvent?e){
    209????????????????try{
    210????????????????????money?=?Integer.parseInt(JOptionPane.showInputDialog(null,"請輸入您要取得的金額:"));
    211????????????????}
    catch(HeadlessException?o){}
    212????????????????zhanghu.getM(money);
    213????????????????infile(zhanghu);
    214????????????}

    215????????}
    );
    216????????button3.addActionListener(new?ActionListener()
    217????????{
    218????????????public?void?actionPerformed(ActionEvent?e){
    219????????????????try{
    220????????????????????while(true){
    221????????????????????????toname?=?JOptionPane.showInputDialog(null,"請輸入你要轉入的帳戶:");
    222????????????????????????fl?=?new?File(toname+".txt");
    223????????????????????????//判斷帳戶是否存在
    224????????????????????????if(!fl.exists()){
    225????????????????????????????System.out.println("對不起,您輸入的帳戶并不存在,請重新輸入:");
    226????????????????????????????continue;
    227????????????????????????}

    228????????????????????????else{
    229????????????????????????????break;
    230????????????????????????}

    231????????????????????}

    232????????????????????money2?=?Integer.parseInt(JOptionPane.showInputDialog(null,"請輸入你要轉入的金額:"));
    233????????????????????zhanghu.getM(money2);
    234????????????????????infile(zhanghu);
    235????????????????????BufferedReader?reader?=?new?BufferedReader(new?FileReader(?toname?+?".txt"));
    236????????????????????password?=?reader.readLine();
    237????????????????????money3?=?Integer.parseInt(reader.readLine());
    238????????????????????zhanghu2?=?new?ZhangHu(toname,password,money3);
    239????????????????????zhanghu2.setM(money2);
    240????????????????????infile(zhanghu2);
    241????????????????}
    catch(HeadlessException?o){}catch(IOException?p){}
    242????????????}

    243????????}
    );
    244????????button4.addActionListener(new?ActionListener()
    245????????{
    246????????????public?void?actionPerformed(ActionEvent?e)
    247????????????{
    248????????????????System.exit(0);
    249????????????}

    250????????}
    );
    251????????panel.setLayout(new?GridLayout(6,1,50,5));
    252????????panel.add(label1);
    253????????panel.add(label2);
    254????????panel.add(button1);
    255????????panel.add(button2);
    256????????panel.add(button3);
    257????????panel.add(button4);
    258
    259????????c.add(panel);
    260????????setSize(400,300);
    261????????setLocation(300,200);
    262????????setVisible(true);
    263????}

    264????public?void?infile(ZhangHu?p){
    265????????try{
    266????????????PrintWriter?writer?=?new?PrintWriter(new?BufferedWriter(new?FileWriter(p.getName()+".txt")));
    267????????????writer.println(p.getPassword());
    268????????????writer.println(p.getMoney());
    269????????????writer.flush()?;
    270????????}
    catch(IOException?e){}
    271????}

    272}

    273
    274//定義帳戶類
    275class?ZhangHu?{
    276????private?String?name;
    277????private?String?password;
    278????private?int?money;
    279????ZhangHu(){
    280????????
    281????}

    282????ZhangHu(String?name,String?password,?int?money){
    283????????this.name?=?name;
    284????????this.password?=?password;
    285????????this.money?=?money;
    286????}

    287????public?void?setM(int?a){
    288????????money?=?money?+?a;
    289????????try{
    290????????????JOptionPane.showMessageDialog(null,"存儲了"+a+"元,帳戶"+name+"尚有余額"+money+"");
    291????????}
    catch(HeadlessException?E){}
    292????}

    293????public?void?getM(int?a){
    294????????if(a?>?money){
    295????????????try{
    296????????????????JOptionPane.showMessageDialog(null,"對不起,您的金額不足"+a+"");
    297????????????}
    catch(HeadlessException?E){}
    298????????}

    299????????else{
    300????????????money?=?money?-?a;
    301????????????try{
    302????????????????JOptionPane.showMessageDialog(null,"取得了"+a+"元,帳戶"+name+"尚有余額"+money+"");
    303????????????}
    catch(HeadlessException?E){}
    304????????}

    305????}

    306????public?String?getName(){
    307????????return?name;
    308????}

    309????public?String?getPassword(){
    310????????return?password;
    311????}

    312????public?int?getMoney(){
    313????????return?money;
    314????}

    315????public?void?setName(String?name){
    316????????this.name?=?name;
    317????}

    318????public?void?setPassword(String?password){
    319????????this.password?=?password;
    320????}

    321????public?void?setMoney(int?money){
    322????????this.money?=?money;
    323????}

    324}

    325
    326//定義管理員類
    327class?Manager
    328{
    329????public?void?add(){
    330????????String?pw;
    331????????ZhangHu?zh?=?new?ZhangHu();
    332????????try{
    333????????????zh.setName(JOptionPane.showInputDialog(null,"請輸入您要添加的帳戶名:"));
    334????????????zh.setPassword(JOptionPane.showInputDialog(null,"請輸入您要設置的密碼:"));
    335????????????while(true){
    336????????????????pw?=?JOptionPane.showInputDialog(null,"請再次輸入密碼:");
    337????????????????if?(?zh.getPassword().equals(pw)){
    338????????????????????break;
    339????????????????}

    340????????????????else{
    341????????????????????zh.setPassword(JOptionPane.showInputDialog(null,"兩次輸入的密碼不一致,請重新輸入密碼:"));
    342????????????????????continue;
    343????????????????}

    344????????????}

    345????????????zh.setMoney(Integer.parseInt(JOptionPane.showInputDialog(null,"請輸入您的金額:")));
    346????????????PrintWriter?writer?=?new?PrintWriter(new?BufferedWriter(new?FileWriter(zh.getName()+".txt")));//創建文件
    347????????????writer.println(zh.getPassword());
    348????????????writer.println(zh.getMoney());
    349????????????writer.flush()?;
    350????????????JOptionPane.showMessageDialog(null,"帳戶"+zh.getName()+"已經創建成功");
    351????????}
    catch(HeadlessException?e){}catch(IOException?c){}
    352????}

    353????public?void?del(){
    354????????String?name?=?null;
    355????????try{
    356????????????name?=?(JOptionPane.showInputDialog(null,"請輸入您要刪除的帳戶名:"));
    357????????????while(true){
    358????????????????File?fl?=?new?File(name+".txt");
    359????????????????if(fl.exists()){
    360????????????????????fl.delete();
    361????????????????????JOptionPane.showMessageDialog(null,"帳戶"+name+"刪除成功");
    362????????????????????break;
    363????????????????}

    364????????????????else{
    365????????????????????name?=?JOptionPane.showInputDialog(null,"您所輸入的帳戶并不存在,請重新輸入:");
    366????????????????}

    367????????????}
    ????
    368????????}
    catch(HeadlessException?e){}
    369????}

    370????public?void?froze(){
    371????????ZhangHu?zh?=?new?ZhangHu();
    372????????String?name?=?null;????????
    373????????name?=?(JOptionPane.showInputDialog(null,"請輸入您要凍結的帳戶:"));
    374????????try{
    375????????????while(true){
    376????????????????File?fl?=?new?File(name+".txt");
    377????????????????if?(fl.exists()){//如果該帳戶存在,則讀取該帳戶的數據
    378????????????????????BufferedReader?reader?=?new?BufferedReader(new?FileReader(?name?+?".txt"));
    379????????????????????zh.setPassword(reader.readLine());
    380????????????????????zh.setMoney(Integer.parseInt(reader.readLine()));
    381????????????????????File?fr?=?new?File("frozen");
    382????????????????????if(!fr.exists()){
    383????????????????????????fr.mkdir();//創建一個此目錄的文件夾
    384????????????????????}

    385????????????????????File?frfl?=?new?File(fr,name+".txt");
    386????????????????????PrintWriter?writer?=?new?PrintWriter(new?BufferedWriter(new?FileWriter(frfl)));
    387????????????????????writer.println(zh.getPassword());
    388????????????????????writer.println(zh.getMoney());
    389????????????????????writer.flush()?;
    390????????????????????fl.delete();
    391????????????????????JOptionPane.showMessageDialog(null,"帳戶"+name+"凍結成功!");
    392????????????????????break;
    393????????????????}

    394????????????????else{
    395????????????????????name?=?JOptionPane.showInputDialog(null,"您所輸入的帳戶并不存在,請重新輸入:");
    396????????????????}
    ????
    397????????????}

    398????????}
    catch(SecurityException?e){}catch(HeadlessException?e){}catch(IOException?e){}
    399????}

    400}

    401
    402//自定義面扳類
    403class?MyPanel?extends?JPanel
    404{
    405????public?Insets?insets()
    406????{
    407????????return?new?Insets(40,40,40,40);
    408????}

    409}

    410
    411//主類
    412public?class?Bank_Test?{
    413????public?static?void?main(String[]?args){
    414????????Login?lg?=?new?Login();
    415????????lg.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    416????}
    ????
    417}


    歡迎來訪!^.^!
    本BLOG僅用于個人學習交流!
    目的在于記錄個人成長.
    所有文字均屬于個人理解.
    如有錯誤,望多多指教!不勝感激!

    Copyright © 久城

    主站蜘蛛池模板: 99re视频精品全部免费| 四虎在线最新永久免费| 亚洲AV人无码综合在线观看| 精品一区二区三区免费毛片爱| 国产成人精品亚洲2020| 亚洲第一区精品观看| 午夜免费福利小电影| 国产成人 亚洲欧洲| 国产国拍亚洲精品mv在线观看 | 美女视频黄a视频全免费网站色窝| 久久水蜜桃亚洲av无码精品麻豆| 成人五级毛片免费播放| 中文日本免费高清| 亚洲午夜理论片在线观看| 亚洲精品国产精品乱码不99| 四虎影视大全免费入口| 日本人成在线视频免费播放| 苍井空亚洲精品AA片在线播放| 久久亚洲美女精品国产精品| 亚洲国产主播精品极品网红| 免费AA片少妇人AA片直播| a国产成人免费视频| 狠狠入ady亚洲精品| 亚洲午夜精品在线| 久久亚洲国产精品一区二区| 国产婷婷高清在线观看免费 | 亚洲日本韩国在线| 毛片免费在线播放| 一级毛片在线观看免费| 国产大片免费天天看| 国产精品亚洲av色欲三区| 亚洲国产中文在线视频| 亚洲不卡中文字幕无码| 亚洲区小说区图片区| 国内大片在线免费看| 亚洲三级高清免费| 在线看片免费人成视频久网下载| 女人裸身j部免费视频无遮挡| 亚洲精品中文字幕| 亚洲一级在线观看| 亚洲短视频在线观看|