基于java的Swing+MySQL银行管理系统+文档java基础gui(java+gui)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

590123062402

000123072402

010123072402

020123072402

030123072402

040123072402

基于java的Swing+MySQL银行管理系统+文档java基础gui(java+gui)

功能介绍:

登录、打印、取款、改密、转账、查询、挂失、存款、退卡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
    	this.setLayout(null);//设置空布局

//设置更新后的Account对象
dao.setTheAccount(user);//使得后面调用Account对象的setter方法和getter方法,都是最新的值

//初始化标签
balanceLabel = new JLabel("余 额:");
depositLabel = new JLabel("存款金额:");

//初始化文本域
balanceTextField = new JTextField(10);
depositTextField = new JTextField(10);

//设置文本域
System.out.println("余额为:" + user.getBalance());//测试代码
// System.out.println("balanceTextField的值为:" + balanceTextField.getText());//测试代码
balanceTextField.setText(user.getBalance());//在余额文本框显示余额
balanceTextField.setEditable(false);//设置用户不可在窗口编辑状态
// System.out.println("balanceTextField的值为:" + balanceTextField.getText());//测试代码
// balanceTextField.setText(String.valueOf(user.getBalance()));//String.valueOf()是将浮点型转换成字符串
// balanceTextField.setEditable(false);

//添加文本域事件
balanceTextField.getDocument().addDocumentListener(this);
depositTextField.getDocument().addDocumentListener(this);
depositTextField.addKeyListener(new MyFieldEvent());

//初始化按钮
confirmButton = new JButton("确定");
resetButton = new JButton("重置");
returnButton = new JButton("返回");

//添加按钮事件
confirmButton.addActionListener(this);
resetButton.addActionListener(this);
returnButton.addActionListener(this);

//初始化面板
balancePanel = new JPanel();
depositPanel = new JPanel();
buttonPanel = new JPanel();


//向面板添加组件
balancePanel.add(balanceLabel);
balancePanel.add(balanceTextField);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
reservePathTextField = new JTextField(20);
filenameTextField = new JTextField(10);
displayTextArea = new JTextArea(6,20); //设置成6行20列

//添加文本域事件
reservePathTextField.getDocument().addDocumentListener(this);
filenameTextField.getDocument().addDocumentListener(this);
filenameTextField.addKeyListener(new MyFieldEvent());

//设置显示信息的文本域
displayTextArea.append( "姓名:" + user.getChineseName() + "\r\n");//打印中文名,"\r\n"作用是每次输入都会换行
displayTextArea.append( "卡号:" + user.getCardNumber() + "\r\n");//打印卡号
displayTextArea.append( "余额:" + user.getBalance() + "\r\n");//打印余额
displayTextArea.setEditable(false);//设置用户不可以在窗口编辑状态

//初始化按钮
printButton = new JButton("打印");
returnButton = new JButton("返回");

//添加按钮事件
printButton.addActionListener(this);
returnButton.addActionListener(this);

//初始化面板
reservePathPanel = new JPanel();
tipsPanel = new JPanel();
filenamePanel = new JPanel();
buttonPanel = new JPanel();
contentPanel = new JPanel();
textAreaPanel = new JPanel();

//向面板添加组件
reservePathPanel.add(reservePathLabel);
reservePathPanel.add(reservePathTextField);
tipsPanel.add(tipsLabel);
filenamePanel.add(filenameLabel);
filenamePanel.add(filenameTextField);
buttonPanel.add(printButton);
buttonPanel.add(returnButton);
contentPanel.add(contentLabel);
textAreaPanel.add(displayTextArea);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//有参构造
public ReportLost(Account user) {
//设置窗口
this.setTitle("挂失");
this.setVisible(true);
this.setSize(310, 400);
this.setLocationRelativeTo(null);//在屏幕中间居中显示
this.setLayout(null);//设置空布局

//设置更新后的Account对象
dao.setTheAccount(user);//使得后面调用Account对象的setter方法和getter方法,都是最新的值

//初始化标签
chineseNameLabel = new JLabel("姓名:");
cardNumberLabel = new JLabel("卡号:");
accountNameLabel = new JLabel("账户:");

//初始化文本域
chineseNameTextField = new JTextField(20);
cardNumberTextField = new JTextField(20);
accountNameTextField= new JTextField(20);
displayTextArea = new JTextArea(8,20); //设置成6行20列

//设置文本域
displayTextArea.setEditable(false);//设置用户不可在窗口编辑状态

//添加文本域事件
chineseNameTextField.getDocument().addDocumentListener(this);
cardNumberTextField.getDocument().addDocumentListener(this);
accountNameTextField.getDocument().addDocumentListener(this);
accountNameTextField.addKeyListener(new MyFieldEvent());

//初始化按钮
confirmButton = new JButton("确定");
resetButton = new JButton("重置");
returnButton = new JButton("返回");

//添加按钮事件
confirmButton.addActionListener(this);
resetButton.addActionListener(this);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
		//设置面板的边界
chineseNamePanel.setBounds(-10, 30, 300, 30);
accountNamePanel.setBounds(2, 70, 300, 30);
transferedMoneyPanel.setBounds(-10, 110, 300, 40);
buttonPanel.setBounds(-10, 160, 300, 40);

//向窗口添加面板
this.add(chineseNamePanel);
this.add(accountNamePanel);
this.add(transferedMoneyPanel);
this.add(buttonPanel);
}


//文本框的监听事件,转账文本框监听回车键,则执行确定按钮的按钮事件
class MyFieldEvent extends KeyAdapter{ //KeyAdapter为KeyListener的适配器,作用是不需要实现接口里面的全部方法
public void keyPressed(KeyEvent e) {
if(e.getSource() == chineseNameTextField) {
if(e.getKeyCode() == 10) {//10代表回车键
confirmButton.doClick(); //调用确定按钮的单击事件
}
}
}
}

//按钮事件处理的方法
public void actionPerformed(ActionEvent e) {
if( e.getSource() == returnButton ) {
this.setVisible(false);
}else{
// System.out.println(transferTextField.getText());//测试代码
this.executeTransfer(transferedAccount, Login.getUser());//执行转账方法
dao.setTheAccount(transferedAccount);//使得后面调用Account对象的setter方法和getter方法,都是最新的值
dao.setTheAccount(Login.getUser());//使得后面调用Account对象的setter方法和getter方法,都是最新的值
System.out.println("操作完成!");//测试代码
}
}

//在本类中定义私有方法——执行转账给对方的方法
private void executeTransfer(Account transferedAccount, Account user) {
/*
* 数据库纪录更新操作sql语句
* userSql是针对于转账方的sql语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
			buttonPanel = new JPanel();

//向面板添加组件
chineseNamePanel.add(chineseNameLabel);
chineseNamePanel.add(chineseNameTextField);
cardNumberPanel.add(cardNumberLabel);
cardNumberPanel.add(cardNumberTextField);
accountNamePanel.add(accountNameLabel);
accountNamePanel.add(accountNameTextField);
buttonPanel.add(confirmButton);
buttonPanel.add(resetButton);
buttonPanel.add(returnButton);

//设置面板的边界
chineseNamePanel.setBounds(-10, 30, 300, 30);
cardNumberPanel.setBounds(-10, 70, 300, 30);
accountNamePanel.setBounds(-10, 110, 300, 30);
buttonPanel.setBounds(-10, 150, 300, 40);
displayTextArea.setBounds(0, 220, 300, 100);

//向窗口添加面板
this.add(chineseNamePanel);
this.add(cardNumberPanel);
this.add(accountNamePanel);
this.add(buttonPanel);
this.add(displayTextArea);
}

//文本域事件的处理方法
public void changedUpdate(DocumentEvent e) {
chineseNameTemp = chineseNameTextField.getText();
cardNumberTemp = cardNumberTextField.getText();
accountNameTemp = accountNameTextField.getText();
System.out.println(chineseNameTemp + cardNumberTemp + accountNameTemp );//测试代码
}
public void insertUpdate(DocumentEvent e) {
chineseNameTemp = chineseNameTextField.getText();
cardNumberTemp = cardNumberTextField.getText();
accountNameTemp = accountNameTextField.getText();
System.out.println(chineseNameTemp + cardNumberTemp + accountNameTemp );//测试代码
}
public void removeUpdate(DocumentEvent e) {
chineseNameTemp = chineseNameTextField.getText();
cardNumberTemp = cardNumberTextField.getText();
accountNameTemp = accountNameTextField.getText();
System.out.println(chineseNameTemp + cardNumberTemp + accountNameTemp );//测试代码
}

//文本框的监听事件
class MyFieldEvent extends KeyAdapter{
public void keyPressed(KeyEvent e) {
if(e.getSource() == accountNameTextField) {
if(e.getKeyCode() == 10) {//10代表回车键
confirmButton.doClick(); //调用确定按钮的单击事件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
	    	//初始化标签
accountNameLabel = new JLabel("用 户:");
chineseNameLabel = new JLabel("中 文 名:");
cardNumberLabel = new JLabel("卡号:(若已挂失,则填unavaibility)");

//初始化文本域
accountNameTextField = new JTextField(10);
chineseNameTextField = new JTextField(10);
cardNumberTextField = new JTextField(20);

// //设置文本域
// System.out.println("余额为:" + user.getBalance());//测试代码
//// System.out.println("balanceTextField的值为:" + balanceTextField.getText());//测试代码
// balanceTextField.setText(user.getBalance());//在余额文本框显示余额
// balanceTextField.setEditable(false);//设置用户不可在窗口编辑状态
//// System.out.println("balanceTextField的值为:" + balanceTextField.getText());//测试代码
//// balanceTextField.setText(String.valueOf(user.getBalance()));//String.valueOf()是将浮点型转换成字符串
//// balanceTextField.setEditable(false);

//添加文本域事件
accountNameTextField.getDocument().addDocumentListener(this);
chineseNameTextField.getDocument().addDocumentListener(this);
cardNumberTextField.getDocument().addDocumentListener(this);
cardNumberTextField.addKeyListener(new MyFieldEvent());

//初始化按钮
confirmButton = new JButton("确定");
returnButton = new JButton("返回");

//添加按钮事件
confirmButton.addActionListener(this);
returnButton.addActionListener(this);

//初始化面板
accountNamePanel = new JPanel();
chineseNamePanel = new JPanel();
cardNumberPanel = new JPanel();
buttonPanel = new JPanel();


//向面板添加组件


项目链接:
https://javayms.github.io?id=331222062008200xe
https://javayms.pages.dev?id=331222062008200xe