📄 bank.java
字号:
// 银行定期储蓄管理系统
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
class MoneyFrame extends JFrame implements ItemListener{
JMenuBar mb=new JMenuBar();
JPanel acpanel=new JPanel();
JPanel takepanel =new JPanel ();
JPanel promptpanel=new JPanel();
JTextField prompt =new JTextField(90);
JLabel aclabel =new JLabel("用户存款信息",JLabel.CENTER);
JLabel takelabel =new JLabel("用户取款信息",JLabel.CENTER);
JPanel tablepanel1=new JPanel();
JPanel tablepanel2=new JPanel();
JLabel[]heading1=new JLabel[10];
JLabel[]heading2=new JLabel[4];
JScrollPane sp ;
JCheckBox gua=new JCheckBox("是",false);
JComboBox category=new JComboBox();
JTextField[]accountField=new JTextField[8];
JTextField[]takeField=new JTextField[4];
OneUser asd=new OneUser();
FileNameDialog dialogs= new FileNameDialog();
int acdate=0, tadate=0;
int sign=1; //当前状态 1为已贮存
MoneyFrame(){
super("银行定期储蓄管理系统");
//创建"新建存款文件"菜单项图标
Icon new1Icon=new ImageIcon("new1.gif","新建存款文件");
//创建"新建取款文件"菜单项图标
Icon new2Icon=new ImageIcon("new2.gif","新建取款文件");
//创建"open"菜单项图标
Icon openIcon =new ImageIcon("open.gif","open");
Icon saveIcon=new ImageIcon("save.gif","save");
JMenu fileMenu = new JMenu("文件"); //创建"文件"菜单
fileMenu.setFont(new Font("楷体_GB2312",Font.PLAIN,20));
JMenuItem newMI1st= new JMenuItem("新建存款文件",new1Icon); //创建"新建存款文件"菜单项
JMenuItem newMI2st= new JMenuItem("新建取款文件",new2Icon); //创建"新建取款文件"菜单项
JMenuItem openMI = new JMenuItem("打开", openIcon); //创建"打开"菜单项
JMenuItem saveMI = new JMenuItem("保存",saveIcon); //创建"保存"菜单项
JMenuItem exitMI = new JMenuItem("退出", 'x'); //创建"退出"菜单项,它有助记键x
fileMenu.add(newMI1st); fileMenu.add(newMI2st); fileMenu.add(openMI);
fileMenu.add(saveMI);
fileMenu.addSeparator(); //添加分隔线
fileMenu.add(exitMI);
newMI1st.setFont(new Font("楷体_GB2312",Font.BOLD,20));
newMI2st.setFont(new Font("楷体_GB2312",Font.BOLD,20));
openMI.setFont(new Font("楷体_GB2312",Font.BOLD,20));
saveMI.setFont(new Font("楷体_GB2312",Font.BOLD,20));
exitMI.setFont(new Font("楷体_GB2312",Font.BOLD,20));
//为'新建存款文件'菜单项安装动作监听器
NewAccListener nfl=new NewAccListener(); newMI1st.addActionListener(nfl);
//为'新建取款文件'菜单项安装动作监听器
NewtakeFieldListener ntl=new NewtakeFieldListener(); newMI2st.addActionListener(ntl);
//为'打开'菜单项安装动作监听器
OpenListener ol = new OpenListener(); openMI.addActionListener(ol);
//为'保存'菜单项安装动作监听器
SaveListener sl = new SaveListener(); saveMI.addActionListener(sl);
//为'退出'菜单项安装动作监听器
exitMI.addActionListener(new ExitListener());
mb.add(fileMenu); //将'文件'菜单加入菜单条
setJMenuBar(mb); //将菜单条加入窗口
//设计存款表格的面板
acpanel.setBounds(30,0,600,25);
acpanel.add(aclabel);
aclabel.setFont(new Font("华文彩云",Font.BOLD,17));
tablepanel1.setBounds(30,28,600,270);
tablepanel1.setLayout(new GridLayout(5,4));
heading1[0]=new JLabel("姓名",JLabel.CENTER);
heading1[1]=new JLabel("密码",JLabel.CENTER);
heading1[2]=new JLabel("账号",JLabel.CENTER);
heading1[3]=new JLabel("地址",JLabel.CENTER);
heading1[4]=new JLabel("本金",JLabel.CENTER);
heading1[5]=new JLabel("储种",JLabel.CENTER);
heading1[6]=new JLabel("存款日期",JLabel.CENTER);
heading1[7]=new JLabel("挂失",JLabel.CENTER);
heading1[8]=new JLabel("挂失日期",JLabel.CENTER);
heading1[9]=new JLabel("营业员",JLabel.CENTER);
for(int i=0;i< heading1.length;i++){heading1[i].setFont(new Font("楷体_GB2312",Font.PLAIN,20));
heading1[i].setForeground(Color.blue);}
category.addItem("");
category.addItem(" 1 年");
category.addItem(" 3 年");
category.addItem(" 5 年");
category.addItemListener(this);
category.setFont(new Font("楷体_GB2312",Font.BOLD,20));
gua.addActionListener(new GuaListener());
for(int k=0;k<8;k++){accountField[k]=new JTextField();
accountField[k].setFont(new Font("楷体",Font.PLAIN,20));}
int j=0;
for(int i =0;i<10;i++){
tablepanel1.add(heading1[i]);
if(i==5){tablepanel1.add(category);}
else{
if(i==7)tablepanel1.add(gua);
else tablepanel1.add(accountField[j++]);
} }
accountField[4].addFocusListener(new TextFieldListener());
//设计取款表格的面板
takepanel.setBounds(30,300,600,25);
takepanel.add(takelabel);
takelabel.setFont(new Font("华文彩云",Font.BOLD,17));
tablepanel2.setBounds(30,330,600,100);
tablepanel2.setLayout(new GridLayout(2,4));
heading2[0]=new JLabel("取款日期",JLabel.CENTER);
heading2[1]=new JLabel("利息",JLabel.CENTER);
heading2[2]=new JLabel("取款总额",JLabel.CENTER);
heading2[3]=new JLabel("营业员 ",JLabel.CENTER);
for(int i=0;i< heading2.length;i++){heading2[i].setFont(new Font("楷体_GB2312",Font.PLAIN,20));
heading2[i].setForeground(Color.blue);}
for(int k=0;k<4;k++){takeField[k]=new JTextField();
takeField[k].setFont(new Font("楷体",Font.PLAIN,20));
}
for(int i=0;i<4;i++){
tablepanel2.add(heading2[i]);
tablepanel2.add(takeField[i]);
}
//设置提示窗口及其面板
promptpanel.setBounds(30,430,600,35);
promptpanel.add(prompt);
prompt.setFont(new Font("幼圆",Font.BOLD,26));
prompt.setForeground(Color.red);
prompt.setHorizontalAlignment(JTextField.CENTER);
//将表格面板加入滚动板
JPanel all=new JPanel();
sp= new JScrollPane(
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
//将标题面板headPanel,滚动板sp,提示面板promptPanel加入主窗口
Container contentPane = getContentPane();
contentPane.add(acpanel);
contentPane.add(tablepanel1);
contentPane.add(takepanel);
contentPane.add(tablepanel2);
contentPane.add(promptpanel);
contentPane.add(sp);
for(int i=0;i<8;i++)accountField[i].setEditable(true);
for(int f=0;f<takeField.length;f++)takeField[f].setEditable(true);
// addWindowListener(new MainWindowListener());
//设置窗口大小
setSize(700,560);
} //构造方法MoneyFrame()声明结束
//监听储种
public void itemStateChanged(ItemEvent e){
if(e.getStateChange()==ItemEvent.SELECTED){
String typename=(String)e.getItem();
if( typename.equals(" 1 年"))asd.type=1;
if( typename.equals(" 3 年"))asd.type=3;
if( typename.equals(" 5 年"))asd.type=5;
}
}
//监听挂失
class GuaListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(gua.isSelected()){
asd.cancelmoney=1;
Calendar calendar=Calendar.getInstance();
accountField[6].setText(Integer.toString(calendar.get(Calendar.YEAR))+"年"+
Integer.toString(calendar.get(Calendar.MONTH)+1)+"月"
+Integer.toString(calendar.get(Calendar.DATE))+"日");
accountField[6].setEditable(false);
}else{asd.cancelmoney=0;
accountField[6].setText("");
}
}}
class TextFieldListener implements FocusListener{
public void focusGained(FocusEvent e){}
public void focusLost(FocusEvent e){
try{
JTextField num=(JTextField)e.getSource();
String money=num.getText();
int ph=Integer.valueOf(money).intValue();
}
catch(Exception ie){prompt.setText("输入的钱必须是整数");
accountField[4].setText("");
}
}}
//监听存款
class NewAccListener implements ActionListener{
public void actionPerformed(ActionEvent e){
SaveDialog pause=new SaveDialog();
if(sign==0){pause.show();}
for(int i=0;i<8;i++)accountField[i].setText("");//对表格初始化
prompt.setText("");
accountField[1].setVisible(true);
for(int i=0;i<8;i++)accountField[i].setEditable(true);
asd.cancelmoney=0;
asd.state=0;
acdate=(int)Math.round(System.currentTimeMillis()/86400000);
asd.dates=acdate;
Calendar calendar=Calendar.getInstance();
accountField[5].setText(Integer.toString(calendar.get(Calendar.YEAR))+"年"+
Integer.toString(calendar.get(Calendar.MONTH)+1)+"月"
+Integer.toString(calendar.get(Calendar.DATE))+"日");
accountField[6].setEditable(false);
acpanel.setVisible(true);
tablepanel1.setVisible(true);
takepanel.setVisible(false);
tablepanel2.setVisible(false);
repaint();
sign=0;
} }
class SaveDialog extends JDialog{
Icon alert=new ImageIcon("alert.gif");
JLabel Quelabel=new JLabel("要保存吗?",alert,JLabel.CENTER);
JButton yes=new JButton("是");
JButton no=new JButton("否");
SaveDialog(){
super(MoneyFrame.this,"银行定期储蓄管理系统",true);
JPanel aaa=new JPanel();
JPanel bbb=new JPanel();
aaa.add(Quelabel);
Container dialogs=getContentPane();
dialogs.add("Center",aaa);
Quelabel.setFont(new Font("楷体",Font.PLAIN,20));
yes.addActionListener(new SureListener());
no.addActionListener(new SureListener());
bbb.add(yes); bbb.add(no);
dialogs.add("South",bbb);
yes.setFont(new Font("楷体",Font.PLAIN,15));
no.setFont(new Font("楷体",Font.PLAIN,15));
setBounds(200,200,300,150);
addWindowListener(new DialogWindowListener());
}
class SureListener implements ActionListener{
public void actionPerformed(ActionEvent e){
Object source = e.getSource();
if(source == yes){
save(); }
dispose();
}
}
}//对话框类SaveDialog的声明结束
//对话框类FileNameDialog
class FileNameDialog extends JDialog{
JLabel fileNameLabel = new JLabel("姓名", JLabel.CENTER);
JTextField fileNameTF = new JTextField(15);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -