基本信息
源码名称:java 银行管理系统源码(入门级,文本型数据库)
源码大小:0.08M
文件格式:.zip
开发语言:Java
更新时间:2018-06-10
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 20 元×
微信扫码支付:20 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
如果运行时 菜单 或者 按钮 出现乱码 请在【 Run>>Edit Configrations>>VM Options】 增加 -Dfile.encoding=GB18030 ,具体配置见下图
package banksystem.demo; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Dialog; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; import java.util.Arrays; import javax.swing.JDesktopPane; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumnModel; public class MainFrame extends JFrame { private static final JDesktopPane DESKTOP_PANE = new JDesktopPane(); private static int UserId = 0; private JFrame mainFrame; private JTable table; private AccountTableModel accountModel; public MainFrame() { super("这是主窗体"); mainFrame = this; // 菜单设置 JMenuBar menuBar = new JMenuBar(); this.setJMenuBar(menuBar); JMenu reg = new JMenu("注册用户"); JMenu edit = new JMenu("编辑用户"); JMenu delete = new JMenu("删除用户"); JMenu saveortake = new JMenu("存取款"); JMenu bankstatement = new JMenu("查看流水"); JMenuItem item1 = new JMenuItem("存入"); JMenuItem item2 = new JMenuItem("取出"); Button btn1 = new Button("存款"); item1.add(btn1); Button btn2 = new Button("取款"); item2.add(btn2); saveortake.add(item1); saveortake.add(item2); menuBar.add(reg); menuBar.add(edit); menuBar.add(delete); menuBar.add(saveortake); menuBar.add(bankstatement); accountModel = new AccountTableModel(); table = new JTable(accountModel); JScrollPane jsp = new JScrollPane(table); jsp.setVisible(true); this.add(jsp); // this.getContentPane().add(DESKTOP_PANE); this.setTitle("银行管理系统"); this.setSize(400, 200); this.setBounds((BankSystem.width - BankSystem.windowsWedth) / 2, (BankSystem.height - BankSystem.windowsHeight) / 2, BankSystem.windowsWedth - 150, BankSystem.windowsHeight - 150); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); reg.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { // 注册界面布局 JFrame frame = new JFrame(); frame.setTitle("注册界面"); frame.setSize(500, 200); frame.setBounds((BankSystem.width - BankSystem.windowsWedth) / 2, (BankSystem.height - BankSystem.windowsHeight) / 2, BankSystem.windowsWedth, BankSystem.windowsHeight); frame.setLayout(new BorderLayout()); frame.setVisible(true); JPanel panelFirst = new JPanel();// 存放用户名密码 JPanel panelSecond = new JPanel();// 存放按钮 panelFirst.setLayout(new GridLayout(22, 22)); JLabel userLabel = new JLabel("用户名"); JLabel passLabel = new JLabel("密码"); JLabel telLabel = new JLabel("电话"); JTextField userText = new JTextField(); JTextField passText = new JTextField(); JTextField telText = new JTextField(); panelFirst.add(userLabel); panelFirst.add(userText); panelFirst.add(passLabel); panelFirst.add(passText); panelFirst.add(telLabel); panelFirst.add(telText); panelSecond.setLayout(new FlowLayout()); Button reg = new Button("注册"); Button cancel = new Button("取消"); panelSecond.add(reg); panelSecond.add(cancel); frame.add(panelSecond, BorderLayout.SOUTH); frame.add(panelFirst, BorderLayout.NORTH); /* * JDialog jdlg = new JDialog(frame, "son", true);// 最后一个参数 true * // 为模态 jdlg.setTitle("注册界面"); jdlg.setSize(500, 200); * jdlg.setBounds((BankSystem.width - BankSystem.windowsWedth) / * 2, (BankSystem.height - BankSystem.windowsHeight) / 2, * BankSystem.windowsWedth, BankSystem.windowsHeight); * jdlg.setLayout(new BorderLayout()); jdlg.setVisible(true); */ // 注册事件 reg.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { String userName = userText.getText(); String passWord = passText.getText(); String telPhone = telText.getText(); AccountModel newAccount = new AccountModel(BankSystem.accountLst.size() 1, userName, passWord, telPhone, 0.00, false); BankSystem.accountLst.add(newAccount); try { BankSystem.WriteFile(BankSystem.path, newAccount.toString(), true, false); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } JOptionPane.showMessageDialog(null, "保存成功"); accountModel.setDataSource(BankSystem.accountLst); } }); cancel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { frame.dispose(); } }); } }); edit.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { int rowId = table.getSelectedRow(); if (rowId < 0) { JOptionPane.showMessageDialog(null, "请选择一行", "警告", JOptionPane.ERROR_MESSAGE); return; } // 注册界面布局 JFrame frame = new JFrame(); frame.setTitle("注册界面"); frame.setSize(500, 200); frame.setBounds((BankSystem.width - BankSystem.windowsWedth) / 2, (BankSystem.height - BankSystem.windowsHeight) / 2, BankSystem.windowsWedth, BankSystem.windowsHeight); JPanel panelFirst = new JPanel();// 存放用户名密码 JPanel panelSecond = new JPanel();// 存放按钮 panelFirst.setLayout(new GridLayout(22, 22)); JLabel userLabel = new JLabel("用户名"); JLabel passLabel = new JLabel("密码"); JLabel telLabel = new JLabel("电话"); JTextField userText = new JTextField(); JTextField passText = new JTextField(); JTextField telText = new JTextField(); panelFirst.add(userLabel); panelFirst.add(userText); panelFirst.add(passLabel); panelFirst.add(passText); panelFirst.add(telLabel); panelFirst.add(telText); panelSecond.setLayout(new FlowLayout()); Button save = new Button("保存"); Button cancel = new Button("取消"); panelSecond.add(save); panelSecond.add(cancel); frame.setLayout(new BorderLayout()); frame.add(panelSecond, BorderLayout.SOUTH); frame.add(panelFirst, BorderLayout.NORTH); frame.setVisible(true); userText.setText(table.getValueAt(rowId, 1).toString()); passText.setText(table.getValueAt(rowId, 2).toString()); telText.setText(table.getValueAt(rowId, 3).toString()); UserId = Integer.parseInt(table.getValueAt(rowId, 0).toString()); // 保存事件 save.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { String userName = userText.getText(); String passWord = passText.getText(); String telPhone = telText.getText(); AccountModel account = new AccountModel(); for (int i = 0; i < BankSystem.accountLst.size(); i ) { if (BankSystem.accountLst.get(i).getId() == UserId) { account = BankSystem.accountLst.get(i); BankSystem.accountLst.remove(account); break; } } account.setId(UserId); account.setUserName(userName); account.setPwd(passWord); account.setTelphone(telPhone); account.setBalance(account.getBalance()); BankSystem.accountLst.add(account); boolean isAppend = false; boolean isNew = true; for (AccountModel tmpAcc : BankSystem.accountLst) { try { BankSystem.WriteFile(BankSystem.path, tmpAcc.toString(), isAppend, isNew); isAppend = true; isNew = false; } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } JOptionPane.showMessageDialog(null, "编辑成功"); accountModel.setDataSource(BankSystem.accountLst); } }); cancel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { frame.dispose(); } }); } }); delete.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { int rowId = table.getSelectedRow(); if (rowId < 0) { JOptionPane.showMessageDialog(null, "请选择一行", "警告", JOptionPane.ERROR_MESSAGE); return; } UserId = Integer.parseInt(table.getValueAt(rowId, 0).toString()); AccountModel account = new AccountModel(); for (int i = 0; i < BankSystem.accountLst.size(); i ) { if (BankSystem.accountLst.get(i).getId() == UserId) { account = BankSystem.accountLst.get(i); BankSystem.accountLst.remove(account); break; } } accountModel.setDataSource(BankSystem.accountLst); boolean isAppend = false; boolean isNew = true; for (AccountModel tmpAcc : BankSystem.accountLst) { try { BankSystem.WriteFile(BankSystem.path, tmpAcc.toString(), isAppend, isNew); isAppend = true; isNew = false; } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); btn1.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { int rowId = table.getSelectedRow(); if (rowId < 0) { JOptionPane.showMessageDialog(null, "请选择一行", "警告", JOptionPane.WARNING_MESSAGE); return; } UserId = Integer.parseInt(table.getValueAt(rowId, 0).toString()); String saveMoney = JOptionPane.showInputDialog("存入多少钱"); Double money = Double.valueOf(saveMoney); AccountModel account = new AccountModel(); for (int i = 0; i < BankSystem.accountLst.size(); i ) { if (BankSystem.accountLst.get(i).getId() == UserId) { account = BankSystem.accountLst.get(i); BankSystem.accountLst.remove(account); break; } } account.setBalance(account.getBalance() money); BankSystem.accountLst.add(account); accountModel.setDataSource(BankSystem.accountLst); boolean isAppend = false; boolean isNew = true; for (AccountModel tmpAcc : BankSystem.accountLst) { try { BankSystem.WriteFile(BankSystem.path, tmpAcc.toString(), isAppend, isNew); isAppend = true; isNew = false; } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } JOptionPane.showMessageDialog(null, " 保存成功"); BankStatement.CreateBankStatement( new BankStatementModel(account.getId(), account.getUserName(), "存入", money)); } }); btn2.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { int rowId = table.getSelectedRow(); if (rowId < 0) { JOptionPane.showMessageDialog(null, "请选择一行", "警告", JOptionPane.WARNING_MESSAGE); return; } UserId = Integer.parseInt(table.getValueAt(rowId, 0).toString()); String saveMoney = JOptionPane.showInputDialog("取出多少钱"); Double money = Double.valueOf(saveMoney); AccountModel account = new AccountModel(); for (int i = 0; i < BankSystem.accountLst.size(); i ) { if (BankSystem.accountLst.get(i).getId() == UserId) { account = BankSystem.accountLst.get(i); BankSystem.accountLst.remove(account); break; } } if (account.getBalance() < money) { JOptionPane.showMessageDialog(null, "取出的金额比余额要多", "警告", JOptionPane.ERROR_MESSAGE); return; } account.setBalance(account.getBalance() - money); BankSystem.accountLst.add(account); accountModel.setDataSource(BankSystem.accountLst); boolean isAppend = false; boolean isNew = true; for (AccountModel tmpAcc : BankSystem.accountLst) { try { BankSystem.WriteFile(BankSystem.path, tmpAcc.toString(), isAppend, isNew); isAppend = true; isNew = false; } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } JOptionPane.showMessageDialog(null, "保存成功"); BankStatement.CreateBankStatement( new BankStatementModel(account.getId(), account.getUserName(), "取出", money)); } }); bankstatement.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { // BankStatementFrame frame=new BankStatementFrame(); JFrame frame = new JFrame(); BankStatementTableModel bankStatementTableModel = new BankStatementTableModel(); JTable subTable = new JTable(bankStatementTableModel); JScrollPane jsp = new JScrollPane(subTable); jsp.setVisible(true); frame.add(jsp); // this.getContentPane().add(DESKTOP_PANE); frame.setTitle("银行管理系统"); frame.setSize(400, 200); frame.setBounds((BankSystem.width - BankSystem.windowsWedth) / 2, (BankSystem.height - BankSystem.windowsHeight) / 2, BankSystem.windowsWedth - 150, BankSystem.windowsHeight - 150); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setVisible(true); } }); } }