色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

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

系統(tǒng)功能

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

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

二、系統(tǒng)展示

1.登錄頁(yè)

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

2.主頁(yè)

教你用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)建面板對(duì)象,并定義為空布局JPanel jp = new JPanel(null);// 添加標(biāo)簽JLabel jl1 = new JLabel('賬號(hào):');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)部類(lèi)進(jìn)行事件處理jb.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 獲取輸入的賬號(hào)和密碼String userName = jtf.getText();String userPassword = new String(jpf.getPassword());// 驗(yàn)證是否正確boolean aBoolean = atm.login(userName, userPassword);if (aBoolean) {// 登錄成功dispose();// 關(guān)閉登錄界面// 打開(kāi)功能界面new WorkingJFrame();} elseshowMessageDialog('賬號(hào)或密碼錯(cuò)誤');// 調(diào)用父類(lèi)彈窗方法}});// 添加組件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;//中間窗口,存錢(qián)、取錢(qián)、轉(zhuǎn)賬、修改密碼界面的父類(lèi)public class CentreJFrame extends MyJFrame {// 空布局面板,自己設(shè)置組件位置及大小protected JPanel jp = new JPanel(null);// 輸入金額標(biāo)簽protected JLabel jl = new JLabel('請(qǐng)輸入金額:');// 輸入金額文件框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)賬賬號(hào)標(biāo)簽protected JLabel jLabel = new JLabel('請(qǐng)輸入轉(zhuǎn)賬賬號(hào):');// 轉(zhuǎn)賬時(shí)轉(zhuǎn)賬賬號(hào)文本框protected JTextField jTextField = new JTextField(20);// 修改密碼時(shí)新密碼標(biāo)簽protected JLabel jLabelCP = new JLabel('請(qǐng)輸入新密碼(只能為數(shù)字):');// 修改密碼時(shí)新密碼文本框protected JTextField jTextFieldCP = new JTextField(20);// 提醒用戶(hù)輸入金額為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)用共有}// 取錢(qián)和取錢(qián)特有組件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();// 輸入賬戶(hù)標(biāo)簽jLabel.setFont(FONT_SIZE_25);jLabel.setBounds(100, 10, 200, 40);// 輸入賬戶(hù)文本jTextField.setBounds(300, 80, 200, 50);// 添加輸入賬戶(hù)標(biāo)簽和輸入賬戶(hù)文本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)聽(tīng)器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í)行的操作,子類(lèi)重寫(xiě)覆蓋實(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;//存錢(qián)界面public class CunMoneyJFrame extends CentreJFrame {public CunMoneyJFrame() {super('存錢(qián)');}protected void change() {String s = jtf.getText();if (isNumber(s)) {Double money = Double.parseDouble(s);boolean b = atm.saveMoney(money);if (b)showMessageDialog('您的錢(qián)錢(qián)已存入n您的賬戶(hù)余額為:' + 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('錢(qián)已轉(zhuǎn)入n您的賬戶(hù)余額為:' + atm.getMoney1());} elseshowMessageDialog('您輸入有誤');} elseshowMessageDialog('您輸入有誤');new WorkingJFrame();// 創(chuàng)建功能界面dispose();// 關(guān)閉此界面}}

QuMoneyJFrame.java

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

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 久久手机精品视频 | 高清精品一区二区三区一区 | 网禁呦萝资源网站在线观看 | 男人的天堂久久 | 亚洲视频一区在线观看 | 国产成人精品久久 | 一级成人毛片 | 久久99精品久久久久久综合 | 99在线小视频 | 欧美变态一级毛片 | 国产亚洲美女精品久久 | 99国产精品免费视频观看 | 精品国产96亚洲一区二区三区 | 亚洲国内| 亚洲成人影院在线观看 | 一级成人毛片免费观看 | 成年女人看片免费视频播放器 | 国内国产真实露脸对白 | 99在线精品视频在线观看 | 黄色毛片一级 | 伊人手机视频 | 自拍视频在线 | 99这里只有精品视频 | 欧美人成片免费看视频不卡 | 欧美在线观看不卡 | 久草观看视频 | 美女扒开腿让男人桶尿口 | 免费国产成人高清无线看软件 | 国产成人亚洲精品 | 欧美中文字幕一区二区三区 | 色综合久久88色综合天天小说 | 欧美三级真做在线观看 | 亚洲一区二区三区高清 | 99视频精品全国在线观看 | 欧美精品另类hdvideo | 欧美日韩国产成人精品 | 一本色道久久爱88av | 男女视频免费 | 亚洲精品国产精品国自产观看 | 欧美黄视频在线观看 | 亚欧成人毛片一区二区三区四区 |