




免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
dmjlsl原创,仅供交流。程序实现其实并不是很难,主要是思路,对程序的各个功能的设计,各个按钮的处理事件及按钮按照逻辑显示出来和隐藏。服务器采用多线程并行机制,针对每个用户登录创建一个线程。程序代码 客户端:import javax.swing.*;import .*;import java.io.*;import java.util.*;import java.awt.event.*;import java.awt.*;import java.sql.*;import java.math.*;import javax.swing.*;class ATMWindows extends JFrame implements ActionListenerFont f;Socket clint=null;DataOutputStream out=null;DataInputStream in=null;Connection con;Statement pre;ResultSet rs;int i,money;boolean b=true;/b的取值有0,1,共2个值分别告诉程序该吧数字键盘的输入复制给username,password,String susername=null;String spassword=null;Box box1,box2,box3,box11,box12;JPanel panel1,panel2;JLabel tishi;JTextField username;JPasswordField password;JButton n,queding,chaxun,qukuan,tuichu;ATMWindows(String s)GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();String t=ge.getAvailableFontFamilyNames();f=new Font(t67,Font.BOLD,16);n=new JButton10;box1=Box.createVerticalBox();box2=Box.createHorizontalBox();box3=Box.createVerticalBox();panel1=new JPanel();panel2=new JPanel();tishi=new JLabel(欢迎使用XX银行!请输入卡号。);tishi.setFont(f);username=new JTextField(20);password=new JPasswordField(20);panel1.setLayout(new GridLayout(3,3);panel2.setLayout(new GridLayout(4,1);for(i=1;i=0&Value()0)/余额大于等于0,表示用户可以取款out.writeInt(Value();money=in.readInt();if(money=0)tishi.setText(登陆成功,您当前余额为:+money);chaxun.show(false);qukuan.show(true);box1.remove(password);box1.validate();return;else if(money=-1)tishi.setText(卡号错误请从新输入卡号和密码);susername=null;spassword=null;box1.remove(password);box1.add(username);box1.validate();password.setText(null);username.setText(null);queding.show(true);chaxun.show(false);validate();return;else if(money=-2)tishi.setText(密码错误请从新输入密码!);spassword=null;password.setText(null);chaxun.show(false);queding.show(true);b=false;/用户输入密码错误,数字键盘输入到passwordreturn;elsetishi.setText(抱歉!服务器错误,暂停服务。);queding.show(true);susername=null;spassword=null;box1.remove(password);box1.add(username);box1.validate();username.setText(null);chaxun.show(false);return;catch(IOException e1)System.out.println(e1);elsefor(i=0;i=0)/用户账号和密码正确,登陆成功,等待取款while(true)money=in.readInt();if(money=0)/客户端输入大于等于0时,准备取款,update数据库db.connect();money=db.select(susername,spassword)-money;if(db.update(money,susername)0)/数据库update成功,返回操作后的余额给客户端System.out.println(数据库update成功,返回操作后的余额给客户端);out.writeInt(db.select(susername,spassword);else/数据库update失败,返回当前余额给客户端out.writeInt(db.select(susername,spassword);db.close();else if(money=-1)/用户已在客户端退出db.close();System.out.println(此用户已经退出终端,线程自动结束。);break;else if(b=-3)db.close();System.out.println(数据库错误,用户登陆失败,自动关闭连接线程);else /用户验证失败db.close();System.out.println(账号或者密码错误,用户登陆失败,自动关闭连接线程);elseout.writeInt(-3);/用-3表示数据库连接失败,通知客户端暂停使用catch(IOException e)System.out.println(e);class DBConnection con;PreparedStatement pre;ResultSet rs=null;String sql=null;DB()public int connect()tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)System.out.println(+e);return 0;trycon=DriverManager.getConnection(jdbc:odbc:user,);System.out.println(数据库连接成功);return 1;catch(SQLException e)System.out.println(e);return 0;public int select(String susername,String spassword)trypre=con.prepareStatement(SELECT * FROM user WHERE username=?);pre.setString(1,susername);rs=pre.executeQuery();while(rs.next()if(spassword.equals(rs.getString(3)return rs.getInt(usermoney);/密码正确,返回余额给客户端elsereturn -2;/用-2表示密码错误catch(SQLException e) System.out.println(e); return -3;/数据库错误,return -1;/用-1表示账号错误public int update(int money,String susername)trySimpleDateFormat matter1=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);pre=con.prepareStatement(UPDATE user SET usermoney=?,operateDate=? WHERE username=?);pre.setInt(1,money);pre.setString(2,matter1.format(new Date();pre.setString(3,susername);int i=pre.executeUpdate();System.out.println(用户取款,修改数据库成功);return i;/修改数据库成功,返回操作影响的记录数catch(SQLEx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阜阳界首市教师招聘考试真题2024
- 扁鹊考试题及答案
- 考试题及答案数学
- 切线考试题及答案
- 系统解剖学模拟练习题(含参考答案)
- 眼科基础知识模考试题与参考答案
- 高级养老护理员理论测试试题含答案
- 中学数学教学设计与案例分析知到智慧树答案
- 2025版三方公司环保设备更新借款合同
- 2025独家销售合同:智能家居系统区域独家代理协议
- 分布式光伏工程报价参考
- 中学政治九年级《坚持改革开放》说课课件
- 2025届广州市高三年级阶段训练(8月市调研摸底) 数学试卷(含答案)
- 制造业企业质量管理能力评估规范
- 《中国民航发展史》课件-第一章 中国民用航空的萌芽与初步发展
- 2024年(学习强国)思想政治理论知识考试题库与答案
- 地球物理勘探合同范本
- 《飞机结构与系统》课件-机翼结构
- 渠道维护工考试题库考点
- DL-光伏发电站电能质量检测技术规程
- 游戏传媒策划方案
评论
0/150
提交评论