BalanceDAO.java
package dao; import java.sql.ResultSet; import db.DBUtil; import entity.Account; public class BalanceDAO { public void balanceDao(int accountNo) throws Exception { DBUtil db = new DBUtil(); // 连接数据库 db.getConnection(); // 查询语句:根据账户查询余额 String sql = "SELECT balance FROM account WHERE accountNo=" + accountNo; // 执行查询语句并且保存结果集 ResultSet rs = db.executeQuery(sql, null); // 遍历输出查询结果 while (rs.next()) { System.out.println("您好!您的账户目前余额为:" + rs.getDouble(1) + "元!"); } // 关闭数据库连接,释放资源 db.closeAll(); } // 查询余额返回daoUI界面,返回String类型的值 public String balanceDaoForUI(Account account) throws Exception { DBUtil db = new DBUtil(); // 连接数据库 db.getConnection(); // 查询语句:根据账户查询余额 String sql = "SELECT balance FROM account WHERE accountNo=" + account.getAccountNo(); // 执行查询语句并且保存结果集 ResultSet rs = db.executeQuery(sql, null); String balance = null; // // 遍历输出查询结果 while (rs.next()) { // System.out.println("您好!您的账户目前余额为:" + rs.getDouble(1) + "元!"); balance = rs.getDouble(1) + ""; } // 关闭数据库连接,释放资源 db.closeAll(); return balance; } }
LoginFrame.java
package view; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import dao.AccountDAO; import entity.Account; //import com.qst.dms.entity.User; //import com.qst.dms.service.UserService; //登录窗口 public class LoginFrame extends JFrame { // 主面板 private JPanel p; // 标签 private JLabel lblName, lblPwd; // 用户名,文本框 private JTextField txtAccount; // 密码,密码框 private JPasswordField txtPwd; // 确认、取消和注册,按钮 private JButton btnOk, btnCancle, btnRegist; // 登录用户 private static Account account; public static Account getAccount() { return account; } public static void setAccount(Account account) { LoginFrame.account = account; } // 账户DAO类 private AccountDAO accountDao; // 构造方法 public LoginFrame() { super("ATM自助存取款机"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 实例化用户业务类对象 accountDao = new AccountDAO(); // 实例化组件 p = new JPanel(); // 使用null布局 p.setLayout(null); lblName = new JLabel("账户:"); lblPwd = new JLabel("密码:"); txtAccount = new JTextField(20); txtPwd = new JPasswordField(20); txtPwd.setEchoChar('*'); btnOk = new JButton("登录"); btnOk.addActionListener(new LoginListener()); btnCancle = new JButton("重置"); btnCancle.addActionListener(new ResetListener()); btnRegist = new JButton("注册"); btnRegist.addActionListener(new RegistListener()); lblName.setBounds(30, 40, 95, 25); lblPwd.setBounds(30, 105, 83, 40); txtAccount.setBounds(140, 40, 250, 35); txtPwd.setBounds(140, 108, 250, 35); btnOk.setBounds(75, 191, 75, 35); btnCancle.setBounds(211, 191, 75, 35); btnRegist.setBounds(351, 191, 75, 35); p.add(lblName); p.add(txtAccount); p.add(lblPwd); p.add(txtPwd); p.add(btnOk); p.add(btnCancle); p.add(btnRegist); // 主面板放入窗体中 getContentPane().add(p); // 设置窗体大小和位置 this.setSize(488, 343); // 设置窗口在屏幕中央 this.setLocationRelativeTo(null); // 设置窗体初始可见 this.setVisible(true); } // 监听类,负责处理登录按钮 public class LoginListener implements ActionListener { // 重写actionPerFormed()方法,事件处理逻辑 public void actionPerformed(ActionEvent e) { // 根据账户查询用户 account = accountDao.findAccByNo(Integer.parseInt(txtAccount.getText().trim())); // 判断用户是否存在 if (account != null) { // 判断输入的密码是否正确 if (account.getPwd() == Integer.parseInt(new String(txtPwd.getPassword()))) { // 登录成功,隐藏登录窗口 LoginFrame.this.setVisible(false); // 显示主窗口 new MainFrame(account).setVisible(true); } else { // 输出提示信息 // System.out.println("密码错误!请重新输入!"); JOptionPane.showMessageDialog(null, "密码错误!请重新输入!", "错误提示", JOptionPane.ERROR_MESSAGE); // 清空密码框 txtPwd.setText(""); } } else { // 输出提示信息 // System.out.println("该用户不存在,请先注册!"); JOptionPane.showMessageDialog(null, "该用户不存在,请先注册!", "错误提示", JOptionPane.ERROR_MESSAGE); } } } // 监听类,负责处理重置按钮 public class ResetListener implements ActionListener { // 重写actionPerFormed()方法,事件处理方法 @Override public void actionPerformed(ActionEvent e) { // 清空文本框 txtAccount.setText(""); txtPwd.setText(""); } } // 监听类,负责处理注册按钮 public class RegistListener implements ActionListener { // 重写actionPerFormed()方法,事件处理方法 public void actionPerformed(ActionEvent e) { // 创建注册窗口 new RegistFrame().setVisible(true); } } // 主程序,整个应用程序的入口 public static void main(String[] args) { new LoginFrame(); } }
RegistFrame.java
package view; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import javax.swing.border.EmptyBorder; import javax.swing.plaf.synth.SynthSeparatorUI; import dao.AccountDAO; import dao.RegisterDAO; import entity.Account; public class RegistFrame extends JFrame { private JPanel contentPane; private JTextField textAccount; private JPasswordField textPwd; private JPasswordField textPwd1; private JTextField textName; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { RegistFrame frame = new RegistFrame(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public RegistFrame() { setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setFont(new Font("宋体", Font.PLAIN, 12)); setTitle("注册"); // setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 561, 414); setLocationRelativeTo(null); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); JPanel panel = new JPanel(); contentPane.add(panel, BorderLayout.CENTER); panel.setLayout(null); JLabel label = new JLabel("账 户:"); label.setFont(new Font("宋体", Font.PLAIN, 18)); label.setBounds(50, 35, 81, 21); panel.add(label); textAccount = new JTextField(); textAccount.setBounds(146, 30, 243, 32); panel.add(textAccount); textAccount.setColumns(10); JLabel label_1 = new JLabel("密 码:"); label_1.setFont(new Font("宋体", Font.PLAIN, 18)); label_1.setBounds(50, 147, 81, 21); panel.add(label_1); JLabel label_2 = new JLabel("确认密码:"); label_2.setFont(new Font("宋体", Font.PLAIN, 18)); label_2.setBounds(50, 206, 101, 32); panel.add(label_2); JButton btnNewButton = new JButton("注册"); btnNewButton.setFont(new Font("宋体", Font.PLAIN, 18)); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String accountNo = textAccount.getText(); String name = textName.getText(); String pwd = new String(textPwd.getPassword()); String pwd1 = new String(textPwd1.getPassword()); if (null == accountNo || "".equals(accountNo)) { JOptionPane.showMessageDialog(null, "账户不能为空!", "输入错误", JOptionPane.ERROR_MESSAGE); return; } if (null == name || "".equals(name)) { JOptionPane.showMessageDialog(null, "账户姓名不能为空!", "输入错误", JOptionPane.ERROR_MESSAGE); return; } if (null == pwd || "".equals(pwd) || null == pwd1 || "".equals(pwd1)) { JOptionPane.showMessageDialog(null, "密码不能为空!", "输入错误", JOptionPane.ERROR_MESSAGE); return; } else if (!(pwd.equals(pwd1))) { JOptionPane.showMessageDialog(null, "两次输入密码不一样!", "输入错误", JOptionPane.ERROR_MESSAGE); return; } // 进行数据库注册 Account account1 = new Account(Integer.parseInt(accountNo), Integer.parseInt(pwd), name, 0); // 创建注册账户DAO对象 RegisterDAO rs = new RegisterDAO(); // 调用注册方法registerDao(),进行数据库中的新增账户操作 try { // DAO方法返回true才提示注册成功 boolean temp = rs.registerDao(account1); if (temp) { JOptionPane.showMessageDialog(null, "注册成功!", "提示", JOptionPane.INFORMATION_MESSAGE); // 注册成功,关闭注册窗口 dispose(); } else { JOptionPane.showMessageDialog(null, "账户已经存在!注册失败!", "错误提示", JOptionPane.ERROR_MESSAGE); } } catch (Exception e1) { e1.printStackTrace(); } } }); btnNewButton.setBounds(60, 280, 123, 29); panel.add(btnNewButton); JButton button = new JButton("重置"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textAccount.setText(null); textPwd.setText(null); textPwd1.setText(null); } }); button.setFont(new Font("宋体", Font.PLAIN, 18)); button.setBounds(300, 280, 123, 29); panel.add(button); textPwd = new JPasswordField(); textPwd.setBounds(148, 144, 243, 32); panel.add(textPwd); textPwd1 = new JPasswordField(); textPwd1.setBounds(148, 209, 243, 32); panel.add(textPwd1); JLabel label_3 = new JLabel("\u59D3 \u540D\uFF1A"); label_3.setFont(new Font("宋体", Font.PLAIN, 18)); label_3.setBounds(50, 90, 81, 21); panel.add(label_3); textName = new JTextField(); textName.setColumns(10); textName.setBounds(146, 87, 243, 32); panel.add(textName); } }
四、其他
1.其他系统实现
1.JavaWeb系统系列实现
Java+JSP实现学生图书管理系统
Java+JSP实现学生信息管理系统
Java+JSP实现用户信息管理系统
Java+Servlet+JSP实现航空订票系统
Java+Servlet+JSP实现学生选课管理系统
Java+Servlet+JSP实现学生成绩管理系统-1
Java+Servlet+JSP实现学生成绩管理系统-2
Java+Servlet+JSP实现宠物诊所管理系统
Java+SSM+Easyui实现网上考试系统
Java+SSH+Bootstrap实现在线考试系统(含论文)
Java+Springboot+Mybatis+Bootstrap+Maven实现网上商城系统
2.JavaSwing系统系列实现
Java+Swing实现斗地主游戏
Java+Swing实现图书管理系统
Java+Swing实现医院管理系统
Java+Swing实现仓库管理系统-1
Java+Swing实现仓库管理系统-2
Java+Swing实现考试管理系统
Java+Swing实现通讯录管理系统
Java+Swing实现停车场管理系统
Java+Swing实现学生信息管理系统
Java+Swing实现学生宿舍管理系统
Java+Swing实现学生选课管理系统
Java+Swing实现学生成绩管理系统
Java+Swing实现学校教材管理系统
Java+Swing实现学校教务管理系统
Java+Swing实现企业人事管理系统
Java+Swing实现电子相册管理系统
Java+Swing实现超市管理系统-TXT存储数据
Java+Swing实现自助取款机系统-TXT存储数据
Java+Swing实现宠物商店管理系统-TXT存储数据