亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

教你用Java Swing實(shí)現(xiàn)自助取款機(jī)系統(tǒng)

瀏覽:125日期:2022-08-10 17:54:54
一、系統(tǒng)介紹

系統(tǒng)功能

1.登錄系統(tǒng) 2.查詢余額 3.取款 4.存款 5.轉(zhuǎn)賬 6.修改密碼 7.退出系統(tǒng)

JDK版本:1.8存儲數(shù)據(jù)形式:TXT存儲數(shù)據(jù)

二、系統(tǒng)展示

1.登錄頁

教你用Java Swing實(shí)現(xiàn)自助取款機(jī)系統(tǒng)

2.主頁

教你用Java Swing實(shí)現(xiàn)自助取款機(jī)系統(tǒng)

3.取款

教你用Java Swing實(shí)現(xiàn)自助取款機(jī)系統(tǒng)

4.存款

教你用Java Swing實(shí)現(xiàn)自助取款機(jī)系統(tǒng)

5.轉(zhuǎn)賬

教你用Java Swing實(shí)現(xiàn)自助取款機(jī)系統(tǒng)

6.修改密碼

教你用Java Swing實(shí)現(xiàn)自助取款機(jī)系統(tǒng)

三、部分代碼

LoginJFrame.java

package atmJFrame.myJFrame;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;//登錄界面繼承MyJFramepublic class LoginJFrame extends MyJFrame {public LoginJFrame() {super('歡迎使用ATM機(jī)');// 設(shè)置窗體可關(guān)閉setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 設(shè)置組件init();// 界面可視化setVisible(true);}// 初始化界面private void init() {// 創(chuàng)建面板對象,并定義為空布局JPanel jp = new JPanel(null);// 添加標(biāo)簽JLabel jl1 = new JLabel('賬號:');JLabel jl2 = new JLabel('密碼:');// 設(shè)置標(biāo)簽字體jl1.setFont(FONT_SIZE_20);jl2.setFont(FONT_SIZE_20);// 設(shè)置標(biāo)簽在面板中的位置jl1.setBounds(100, 100, 70, 70);jl2.setBounds(100, 250, 70, 70);// 添加文本框JTextField jtf = new JTextField(20);// 添加密碼文本框JPasswordField jpf = new JPasswordField(20);// 設(shè)置文本框位置jtf.setBounds(200, 115, 200, 40);jpf.setBounds(200, 265, 200, 40);// 添加按鈕JButton jb = new JButton('登錄');// 設(shè)置按鈕文字大小jb.setFont(FONT_SIZE_20);// 設(shè)置按鈕位置及大小jb.setBounds(250, 400, 100, 50);// 設(shè)置面板背景顏色jp.setBackground(Color.YELLOW);// 內(nèi)部類進(jìn)行事件處理jb.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 獲取輸入的賬號和密碼String userName = jtf.getText();String userPassword = new String(jpf.getPassword());// 驗(yàn)證是否正確boolean aBoolean = atm.login(userName, userPassword);if (aBoolean) {// 登錄成功dispose();// 關(guān)閉登錄界面// 打開功能界面new WorkingJFrame();} elseshowMessageDialog('賬號或密碼錯誤');// 調(diào)用父類彈窗方法}});// 添加組件jp.add(jl1);jp.add(jtf);jp.add(jl2);jp.add(jpf);jp.add(jb);// 窗體添加面板add(jp);}public static void main(String[] args) {new LoginJFrame();// 先創(chuàng)建登錄界面}}

CentreJFrame.java

package atmJFrame.myJFrame;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.regex.Matcher;import java.util.regex.Pattern;//中間窗口,存錢、取錢、轉(zhuǎn)賬、修改密碼界面的父類public class CentreJFrame extends MyJFrame {// 空布局面板,自己設(shè)置組件位置及大小protected JPanel jp = new JPanel(null);// 輸入金額標(biāo)簽protected JLabel jl = new JLabel('請輸入金額:');// 輸入金額文件框protected JTextField jtf = new JTextField(20);// 確認(rèn)、取消按鈕protected JButton jb1 = new JButton('確認(rèn)');protected JButton jb2 = new JButton('取消');// 轉(zhuǎn)賬時(shí)轉(zhuǎn)賬賬號標(biāo)簽protected JLabel jLabel = new JLabel('請輸入轉(zhuǎn)賬賬號:');// 轉(zhuǎn)賬時(shí)轉(zhuǎn)賬賬號文本框protected JTextField jTextField = new JTextField(20);// 修改密碼時(shí)新密碼標(biāo)簽protected JLabel jLabelCP = new JLabel('請輸入新密碼(只能為數(shù)字):');// 修改密碼時(shí)新密碼文本框protected JTextField jTextFieldCP = new JTextField(20);// 提醒用戶輸入金額為100的倍數(shù)private JLabel jle = new JLabel('( 提示:只能輸入100的倍數(shù) )');public CentreJFrame(String str) {super(str);// 判斷要進(jìn)行的操作if (str.equals('轉(zhuǎn)賬'))init1();else if (str.equals('修改密碼'))init2();elseinit();one();// 最后調(diào)用共有}// 取錢和取錢特有組件private void init() {// 輸入金額標(biāo)簽,設(shè)置字體,位置及大小jl.setFont(FONT_SIZE_25);jl.setBounds(100, 100, 200, 100);// 輸入金額文本框jtf.setBounds(300, 250, 200, 50);// 添加輸入金額標(biāo)簽和輸入金額文本框jp.add(jl);jp.add(jtf);setJLE();}// 轉(zhuǎn)賬特有組件private void init1() {init();// 輸入賬戶標(biāo)簽jLabel.setFont(FONT_SIZE_25);jLabel.setBounds(100, 10, 200, 40);// 輸入賬戶文本jTextField.setBounds(300, 80, 200, 50);// 添加輸入賬戶標(biāo)簽和輸入賬戶文本jp.add(jLabel);jp.add(jTextField);}// 修改密碼特有組件private void init2() {// 輸入新密碼標(biāo)簽jLabelCP.setFont(FONT_SIZE_25);jLabelCP.setBounds(50, 100, 400, 70);// 輸入新密碼文本框jTextFieldCP.setBounds(300, 215, 200, 40);// 添加輸入新密碼標(biāo)簽和輸入新密碼文本框jp.add(jLabelCP);jp.add(jTextFieldCP);}// 共有組件及操作private void one() {// 按鈕設(shè)置jb1.setFont(FONT_SIZE_20);jb2.setFont(FONT_SIZE_20);jb1.setBounds(300, 350, 100, 50);jb2.setBounds(450, 350, 100, 50);jp.add(jb1);jp.add(jb2);jp.setBackground(Color.GREEN);jb1.addActionListener(listener);jb2.addActionListener(listener);// 添加到窗體add(jp);setVisible(true);}// 設(shè)置提示private void setJLE() {jle.setFont(FONT_SIZE_10);jle.setBounds(100, 180, 300, 50);jp.add(jle);}// 創(chuàng)建監(jiān)聽器private ActionListener listener = new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 按鈕被點(diǎn)擊后String actionCommand = e.getActionCommand();// 獲取按鈕上的字switch (actionCommand) {case '確認(rèn)':change();break;case '取消':new WorkingJFrame();// 創(chuàng)建功能界面dispose();// 關(guān)閉此界面break;}}};// 點(diǎn)擊確認(rèn)按鈕執(zhí)行的操作,子類重寫覆蓋實(shí)現(xiàn)各自功能protected void change() {}// 正則表達(dá)式判斷輸入是否為數(shù)字protected boolean isNumber(String str) {Pattern pattern = Pattern.compile('[0-9]*');Matcher isNum = pattern.matcher(str);if (!isNum.matches())return false;return true;}}

CunMoneyJFrame.java

package atmJFrame.myJFrame;//存錢界面public class CunMoneyJFrame extends CentreJFrame {public CunMoneyJFrame() {super('存錢');}protected void change() {String s = jtf.getText();if (isNumber(s)) {Double money = Double.parseDouble(s);boolean b = atm.saveMoney(money);if (b)showMessageDialog('您的錢錢已存入n您的賬戶余額為:' + atm.getMoney1());elseshowMessageDialog('您輸入有誤');} elseshowMessageDialog('您輸入有誤');jtf.setText('');}}

GiveMoneyJFrame.java

package atmJFrame.myJFrame;//轉(zhuǎn)賬界面public class GiveMoneyJFrame extends CentreJFrame {public GiveMoneyJFrame() {super('轉(zhuǎn)賬');}protected void change() {String s = jTextField.getText();boolean b = atm.anotherUser(s);if (b) {// 獲取輸入金額String s1 = jtf.getText();if (isNumber(s1)) {// 如果輸入是數(shù)字Double money = Double.parseDouble(s1);atm.giveMoney(money);showMessageDialog('錢已轉(zhuǎn)入n您的賬戶余額為:' + atm.getMoney1());} elseshowMessageDialog('您輸入有誤');} elseshowMessageDialog('您輸入有誤');new WorkingJFrame();// 創(chuàng)建功能界面dispose();// 關(guān)閉此界面}}

QuMoneyJFrame.java

package atmJFrame.myJFrame;//取錢界面public class QuMoneyJFrame extends CentreJFrame {public QuMoneyJFrame() {super('取錢');}protected void change() {String s = jtf.getText();if (isNumber(s)) {Double money = Double.parseDouble(s);boolean b = atm.quMoney(money);if (b) {showMessageDialog('請收好您的錢n您的賬戶余額為:' + atm.getMoney1());} elseshowMessageDialog('您輸入有誤');} elseshowMessageDialog('您輸入有誤');jtf.setText('');}}

到此這篇關(guān)于教你用Java Swing實(shí)現(xiàn)自助取款機(jī)系統(tǒng)的文章就介紹到這了,更多相關(guān)Java Swing自助取款機(jī)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日本一级在线播放线观看视频 | 一级毛片日韩 | 最新国产精品自拍 | 韩国毛片在线观看 | 欧美日韩在线视频不卡一区二区三区 | 久久国产精品免费观看 | 亚洲国产成人久久综合碰 | 亚洲一区欧美二区 | 在线视频 国产交换 | 全免费毛片在线播放 | 国产亚洲女在线精品 | 日本免费大黄在线观看 | 视频二区国产 | 亚洲福利精品一区二区三区 | 国产日韩精品一区二区在线观看 | 香蕉国产人午夜视频在线观看 | 久久男人天堂 | 午夜精品尤物福利视频在线 | 国产在线不卡午夜精品2021 | 国产高清在线 | 亚洲成在人线久久综合 | 国内外成人免费在线视频 | 成人免费a视频 | 国产一级二级三级毛片 | 久久综合狠狠综合久久综合88 | 日本一级特黄特色大片免费视频 | 国产91丝袜在线播放九色 | 国产三级在线看 | 国产精品日本一区二区在线播放 | 国产欧美成人不卡视频 | 国产精品玖玖 | 国产亚洲欧美在线视频 | 成人亚洲欧美综合 | 无码免费一区二区三区免费播放 | 国产女厕偷窥系列在线视频 | 亚洲免费不卡 | 末满18以下勿进色禁网站 | 久久香蕉精品成人 | 色三级大全高清视频在线观看 | 美国三级在线观看 | 在线视频区 |