电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

教你用Java Swing實現自助取款機系統

瀏覽:115日期:2022-08-10 17:54:54
一、系統介紹

系統功能

1.登錄系統 2.查詢余額 3.取款 4.存款 5.轉賬 6.修改密碼 7.退出系統

JDK版本:1.8存儲數據形式:TXT存儲數據

二、系統展示

1.登錄頁

教你用Java Swing實現自助取款機系統

2.主頁

教你用Java Swing實現自助取款機系統

3.取款

教你用Java Swing實現自助取款機系統

4.存款

教你用Java Swing實現自助取款機系統

5.轉賬

教你用Java Swing實現自助取款機系統

6.修改密碼

教你用Java Swing實現自助取款機系統

三、部分代碼

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機');// 設置窗體可關閉setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 設置組件init();// 界面可視化setVisible(true);}// 初始化界面private void init() {// 創建面板對象,并定義為空布局JPanel jp = new JPanel(null);// 添加標簽JLabel jl1 = new JLabel('賬號:');JLabel jl2 = new JLabel('密碼:');// 設置標簽字體jl1.setFont(FONT_SIZE_20);jl2.setFont(FONT_SIZE_20);// 設置標簽在面板中的位置jl1.setBounds(100, 100, 70, 70);jl2.setBounds(100, 250, 70, 70);// 添加文本框JTextField jtf = new JTextField(20);// 添加密碼文本框JPasswordField jpf = new JPasswordField(20);// 設置文本框位置jtf.setBounds(200, 115, 200, 40);jpf.setBounds(200, 265, 200, 40);// 添加按鈕JButton jb = new JButton('登錄');// 設置按鈕文字大小jb.setFont(FONT_SIZE_20);// 設置按鈕位置及大小jb.setBounds(250, 400, 100, 50);// 設置面板背景顏色jp.setBackground(Color.YELLOW);// 內部類進行事件處理jb.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 獲取輸入的賬號和密碼String userName = jtf.getText();String userPassword = new String(jpf.getPassword());// 驗證是否正確boolean aBoolean = atm.login(userName, userPassword);if (aBoolean) {// 登錄成功dispose();// 關閉登錄界面// 打開功能界面new WorkingJFrame();} elseshowMessageDialog('賬號或密碼錯誤');// 調用父類彈窗方法}});// 添加組件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();// 先創建登錄界面}}

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;//中間窗口,存錢、取錢、轉賬、修改密碼界面的父類public class CentreJFrame extends MyJFrame {// 空布局面板,自己設置組件位置及大小protected JPanel jp = new JPanel(null);// 輸入金額標簽protected JLabel jl = new JLabel('請輸入金額:');// 輸入金額文件框protected JTextField jtf = new JTextField(20);// 確認、取消按鈕protected JButton jb1 = new JButton('確認');protected JButton jb2 = new JButton('取消');// 轉賬時轉賬賬號標簽protected JLabel jLabel = new JLabel('請輸入轉賬賬號:');// 轉賬時轉賬賬號文本框protected JTextField jTextField = new JTextField(20);// 修改密碼時新密碼標簽protected JLabel jLabelCP = new JLabel('請輸入新密碼(只能為數字):');// 修改密碼時新密碼文本框protected JTextField jTextFieldCP = new JTextField(20);// 提醒用戶輸入金額為100的倍數private JLabel jle = new JLabel('( 提示:只能輸入100的倍數 )');public CentreJFrame(String str) {super(str);// 判斷要進行的操作if (str.equals('轉賬'))init1();else if (str.equals('修改密碼'))init2();elseinit();one();// 最后調用共有}// 取錢和取錢特有組件private void init() {// 輸入金額標簽,設置字體,位置及大小jl.setFont(FONT_SIZE_25);jl.setBounds(100, 100, 200, 100);// 輸入金額文本框jtf.setBounds(300, 250, 200, 50);// 添加輸入金額標簽和輸入金額文本框jp.add(jl);jp.add(jtf);setJLE();}// 轉賬特有組件private void init1() {init();// 輸入賬戶標簽jLabel.setFont(FONT_SIZE_25);jLabel.setBounds(100, 10, 200, 40);// 輸入賬戶文本jTextField.setBounds(300, 80, 200, 50);// 添加輸入賬戶標簽和輸入賬戶文本jp.add(jLabel);jp.add(jTextField);}// 修改密碼特有組件private void init2() {// 輸入新密碼標簽jLabelCP.setFont(FONT_SIZE_25);jLabelCP.setBounds(50, 100, 400, 70);// 輸入新密碼文本框jTextFieldCP.setBounds(300, 215, 200, 40);// 添加輸入新密碼標簽和輸入新密碼文本框jp.add(jLabelCP);jp.add(jTextFieldCP);}// 共有組件及操作private void one() {// 按鈕設置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);}// 設置提示private void setJLE() {jle.setFont(FONT_SIZE_10);jle.setBounds(100, 180, 300, 50);jp.add(jle);}// 創建監聽器private ActionListener listener = new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 按鈕被點擊后String actionCommand = e.getActionCommand();// 獲取按鈕上的字switch (actionCommand) {case '確認':change();break;case '取消':new WorkingJFrame();// 創建功能界面dispose();// 關閉此界面break;}}};// 點擊確認按鈕執行的操作,子類重寫覆蓋實現各自功能protected void change() {}// 正則表達式判斷輸入是否為數字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;//轉賬界面public class GiveMoneyJFrame extends CentreJFrame {public GiveMoneyJFrame() {super('轉賬');}protected void change() {String s = jTextField.getText();boolean b = atm.anotherUser(s);if (b) {// 獲取輸入金額String s1 = jtf.getText();if (isNumber(s1)) {// 如果輸入是數字Double money = Double.parseDouble(s1);atm.giveMoney(money);showMessageDialog('錢已轉入n您的賬戶余額為:' + atm.getMoney1());} elseshowMessageDialog('您輸入有誤');} elseshowMessageDialog('您輸入有誤');new WorkingJFrame();// 創建功能界面dispose();// 關閉此界面}}

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('');}}

到此這篇關于教你用Java Swing實現自助取款機系統的文章就介紹到這了,更多相關Java Swing自助取款機內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 顺辉瓷砖-大国品牌-中国顺辉 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 造价工程师网,考试时间查询,报名入口信息-网站首页 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 环氧铁红防锈漆_环氧漆_无溶剂环氧涂料_环氧防腐漆-华川涂料 | 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 智能监控-安防监控-监控系统安装-弱电工程公司_成都万全电子 | 电缆桥架生产厂家_槽式/梯式_热镀锌线槽_广东东莞雷正电气 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 破碎机_上海破碎机_破碎机设备_破碎机厂家-上海山卓重工机械有限公司 | RFID电子标签厂家-上海尼太普电子有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 技德应用| 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 万濠影像仪(万濠投影仪)百科-苏州林泽仪器| 品牌广告服务平台,好排名,好流量,好生意。 | 庭院灯_太阳能景观灯_草坪灯厂家_仿古壁灯-重庆恒投科技 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 技德应用| 蔡司三坐标-影像测量机-3D扫描仪-蔡司显微镜-扫描电镜-工业CT-ZEISS授权代理商三本工业测量 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 |