基本信息
源码名称: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);
}
});
}
}