Java+Swing实现自助取款机系统

  • 一、系统介绍
  • 二、系统展示
    • 1.登录页
    • 2.主页
    • 3.取款
    • 4.存款
    • 5.转账
    • 6.修改密码
  • 三、部分代码
    • LoginJFrame.java
    • CentreJFrame.java
    • CunMoneyJFrame.java
    • GiveMoneyJFrame.java
    • QuMoneyJFrame.java
  • 四、其他
    • 1.其他系统实现
      • JavaWeb系统系列实现
      • JavaSwing系统系列实现
    • 2.获取源码
    • 3.备注

一、系统介绍

系统功能
1.登录系统
2.查询余额
3.取款
4.存款
5.转账
6.修改密码
7.退出系统
JDK版本:1.8
存储数据形式:TXT存储数据

二、系统展示

1.登录页

2.主页

3.取款

4.存款

5.转账

6.修改密码

三、部分代码

LoginJFrame.java

package atmJFrame.myJFrame;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;//登录界面继承MyJFrame
public 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("");}}

四、其他

1.其他系统实现

JavaWeb系统系列实现

Java+JSP实现图书管理系统
Java+JSP实现学生信息管理系统
Java+Servlet+JSP实现学生成绩管理系统
Java+Servlet+JSP实现宠物诊所管理系统
Java+SSM+Easyui实现网上考试系统
Java+Springboot+H-ui实现营销管理系统
Java+Springboot+Mybatis+Bootstrap实现网上商城系统

JavaSwing系统系列实现

Java+Swing实现医院管理系统
Java+Swing实现仓库管理系统
Java+Swing实现学生信息管理系统
Java+Swing实现学生宿舍管理系统
Java+Swing实现学生选课管理系统
Java+Swing实现电子相册管理系统
Java+Swing实现图书管理系统
Java+Swing实现斗地主游戏
Java+Swing实现宠物商店管理系统-TXT存储信息
Java+Swing实现学生成绩管理系统
Java+Swing实现企业人事管理系统
Java+Swing实现学校教材管理系统
Java+Swing实现学校教务管理系统
Java+Swing实现超市管理系统-TXT存储信息
Java+Swing实现考试管理系统

2.获取源码

Java+Swing实现自助款机系统
部署有问题请联系QQ:3079118617

3.备注

如有侵权请联系我删除。

Java+Swing实现自助取款机(ATM)系统-TXT存储数据相关推荐

  1. Eclipse+Java+Swing+Mysql实现自助存取款机(ATM)系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 5.工程截图 二.系统展示 1.注册页面 2.登录页面 3.主页面 4.取款 5.存款 6.转账 7.余额查询 三.部分代码 ...

  2. Eclipse+Java+Swing+Mysql实现仓库管理系统

    目录 一.系统介绍 1.软件环境 2.系统功能 3.数据库 4.工程截图 二.系统展示 1.用户-登录页 2.用户-登录成功 3.用户-主页面 4.用户-用户管理-个人信息 5.用户-用户管理-修改密 ...

  3. Eclipse+Java+Swing+Mysql实现电影购票系统【建议收藏】

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 5.工程截图 二.系统展示 1.注册系统 2.登录系统 3.用户-欢迎界面 4.用户-影片排行榜 5.用户-购票信息 6.用户 ...

  4. 基于Java+Swing实现餐厅点餐系统

    基于Java+Swing实现餐厅点餐系统 一.系统介绍 二.系统展示 1.主页 2.点菜 3.下单 4.结算 5.销售情况(管理员) 三.系统实现 四.其他系统 五.获取源码 一.系统介绍 该系统针对 ...

  5. 基于Java Swing实现的日历记事本系统【源码+报告文档】

    一.项目简介 本项目是一套基于Java Swing实现的日历记事本系统,主要针对计算机相关专业的正在学习java的学生与需要项目实战练习的Java学习者. 包含:项目源码.报告文档等. 项目都经过严格 ...

  6. 基于Java+Swing+mysql飞机票订票系统

    基于Java+Swing+mysql飞机票订票系统 一.系统介绍 二.功能展示 1.用户登陆 2.注册 3.综合查询(管理员) 4.航班录入(管理员) 4.查询航班 5.机票预定 6.机票退改管理 三 ...

  7. 基于Java+Swing+Mysql人口普查登记系统

    基于Java+Swing+Mysql人口普查登记系统 一.系统介绍 二.功能展示 1.主页 2.新增人口信息 3.查询人口信息 三.数据库 四.其他系统实现 五.获取源码 一.系统介绍 该系统实现了查 ...

  8. commit在c语言中的作用,【单选题】SQL语 言 中 COMMIT语句的主要作用是( ) A. 结束程序 B. 返回系统 C. 存储数据 D. 提交事务...

    [单选题]SQL语 言 中 COMMIT语句的主要作用是( ) A. 结束程序 B. 返回系统 C. 存储数据 D. 提交事务 更多相关问题 [判断题]骨与骨之间一般用关节和韧带连接起来. A. 正确 ...

  9. Eclipse+Java+Swing+Mysql实现医院挂号系统

    目录 一.系统介绍 1.运行环境 2.技术说明 3.系统功能 4.数据库 二.系统实现 1.登陆界面 2.错误登陆 3.病人登陆,挂号界面 4.科室过滤 5.医生过滤 6.挂号成功 7.医生界面-病人 ...

  10. 简易atm java代码_Java的简易ATM系统

    大纲 ATM 机系统 1.注册(账户(系统随机生成 15 位) - 密码(6位) - 余额) 2.登录 4.修改密码 3.查询余额 4.存钱 -(显示操作完成后的余额) 5.取钱 - (显示操作完成后 ...

最新文章

  1. 服务器主板用360优化后崩溃,为什么卸载了360以后,电脑反而更流畅了?电脑高手这样解释...
  2. GitLab 安装方法
  3. php 累,php 记录进行累结果
  4. windows桌面待办事项_想拒绝拖延症?你还缺一款云同步提醒的的桌面便签软件!...
  5. 项目管理指标_企业工程项目管理部门绩效考核KPI关键指标,共4个维度113项指标...
  6. Bootstrap 轻量级后台管理系统模板--ACE使用介绍
  7. perl语言入门级练习记录23章
  8. CAPL编程语言简介
  9. 终于有人把XGBoost 和 LightGBM 讲明白了,项目中最主流的集成算法!
  10. 如何解决High Sierra 10.13.6 系统iCloud无法连接的问题?
  11. 我关注的一些技术微信公众号
  12. 塑料粘结硬质铁氧体磁铁的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  13. C语言类型限定符(type specifier)(一)——volatile详细教程
  14. CLIST 数组的用法 CListCtrl m_list 用法
  15. 【C++】Clang-Format:代码自动格式化(看这一篇就够了)
  16. 河南单招计算机分数线,2019年河南单招分数线一般多少分
  17. 【机器学习】图像语义分割常用指标Dice系数 敏感性 特异性 IOU及python代码实现
  18. 华为手机安卓8.0以上的谷歌商店找不到的问题
  19. 比较基因组学分析(Comparative Genomics Analysis)
  20. 在Virtual Box中安装Windows7 64位虚拟机系统

热门文章

  1. SpringBoot+Editormd实现markdown文本编辑和图片上传
  2. SpringMVC整合百度富文本编辑器
  3. vc707 MicroBlaze Helloworld 实验
  4. kali下钓鱼网站的制作
  5. Java:(游戏:豆机)
  6. hdu 5857 Median(模拟)
  7. excel数据导入matlab失败,Excel数据导入matlab
  8. 安卓设备修改屏幕像素密度以及查看屏幕分辨率
  9. 经典:智能物联网大数据系统案例
  10. oracle imp 跳过表,关于oracle imp 导入避开若干表