📄 accountserver.java
字号:
package client;
import java.awt.*;
import java.awt.event.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class AccountServer extends JPanel implements ActionListener,KeyListener
{
DataOutputStream dos;
DataInputStream dis;
member strMember;
JTextField jtfDeposit,jtfAID,jtfWithDraw,jtfEID,jtfIID,jtfMoney;
JPasswordField jpfAPW,jpfEPW;
JButton btInquire,btDeposit,btWithDraw,btVirement;
ClientMessage_member message=new ClientMessage_member();
AccountServer(DataOutputStream dos,DataInputStream dis,member strMember)
{
this.dis=dis;
this.dos=dos;
this.strMember=strMember;
if(strMember.getsort()==4)
{
GridLayout gl=new GridLayout(3,1);
setLayout(gl);
JPanel p2=new JPanel();
JPanel p2_1=new JPanel();
JLabel jlbAID=new JLabel("客户账户");
jtfAID=new JTextField(26);
JLabel jlbAPW=new JLabel("密码");
jpfAPW=new JPasswordField(26);
p2_1.add(jlbAID);
p2_1.add(jtfAID);
p2_1.add(jlbAPW);
p2_1.add(jpfAPW);
p2_1.setBorder(BorderFactory.createTitledBorder("办理人信息"));
p2.add(p2_1);
JPanel p2_2=new JPanel();
JLabel jlbDeposit=new JLabel("存入数额:");
jtfDeposit=new JTextField(26);
jtfDeposit.addKeyListener(this);
btDeposit=new JButton("存入");
btDeposit.addActionListener(this);
p2_2.add(jlbDeposit);
p2_2.add(jtfDeposit);
p2_2.add(btDeposit);
p2_2.setBorder(BorderFactory.createTitledBorder("办理存款"));
p2.add(p2_2);
JPanel p2_3=new JPanel();
JLabel jlbWithDraw=new JLabel("取出数额:");
jtfWithDraw=new JTextField(26);
jtfWithDraw.addKeyListener(this);
btWithDraw=new JButton("取出");
btWithDraw.addActionListener(this);
p2_3.add(jlbWithDraw);
p2_3.add(jtfWithDraw);
p2_3.add(btWithDraw);
p2_3.setBorder(BorderFactory.createTitledBorder("办理取款"));
p2.add(p2_3);
p2.setBorder(BorderFactory.createTitledBorder("现金业务"));
this.add(p2);
JPanel p3=new JPanel(new GridLayout(5,1));
JLabel jlbEID=new JLabel("转出的帐户:");
jtfEID=new JTextField(26);
JPanel p3_1=new JPanel();
p3_1.add(jlbEID);
p3_1.add(jtfEID);
p3.add(p3_1);
JPanel p3_2=new JPanel();
JLabel jlbEPW=new JLabel("密码");
jpfEPW=new JPasswordField(26);
p3_2.add(jlbEPW);
p3_2.add(jpfEPW);
p3.add(p3_2);
JPanel p3_5=new JPanel();
JLabel jlbMoney=new JLabel("转入金额");
jtfMoney=new JTextField(16);
p3_5.add(jlbMoney);
p3_5.add(jtfMoney);
p3.add(p3_5);
JPanel p3_3=new JPanel();
JLabel jlbIID=new JLabel("转入的帐户");
jtfIID=new JTextField(26);
p3_3.add(jlbIID);
p3_3.add(jtfIID);
p3.add(p3_3);
JPanel p3_4=new JPanel();
btVirement=new JButton("转入");
btVirement.addActionListener(this);
p3_4.add(btVirement);
p3.add(p3_4);
p3.setBorder(BorderFactory.createTitledBorder("转帐业务"));
this.add(p3);
}
else
{
this.setLayout(new GridLayout(3,1));
JPanel p1=new JPanel(new GridLayout(2,1));
JPanel p1_1=new JPanel();
JLabel jlbAID=new JLabel("客户账户");
jtfAID=new JTextField(26);
JLabel jlbAPW=new JLabel("密码");
jpfAPW=new JPasswordField(26);
p1_1.add(jlbAID);
p1_1.add(jtfAID);
p1_1.add(jlbAPW);
p1_1.add(jpfAPW);
btInquire=new JButton("查询");
btInquire.addActionListener(this);
JPanel p1_2=new JPanel();
p1_2.add(btInquire);
p1.setBorder(BorderFactory.createTitledBorder("余额查询"));
p1.add(p1_1);
p1.add(p1_2);
this.add(p1);
JPanel p3=new JPanel(new GridLayout(5,1));
JLabel jlbEID=new JLabel("转出的帐户:");
jtfEID=new JTextField(26);
JPanel p3_1=new JPanel();
p3_1.add(jlbEID);
p3_1.add(jtfEID);
p3.add(p3_1);
JPanel p3_2=new JPanel();
JLabel jlbEPW=new JLabel("密码");
jpfEPW=new JPasswordField(26);
p3_2.add(jlbEPW);
p3_2.add(jpfEPW);
p3.add(p3_2);
JPanel p3_5=new JPanel();
JLabel jlbMoney=new JLabel("转入金额");
jtfMoney=new JTextField(16);
p3_5.add(jlbMoney);
p3_5.add(jtfMoney);
p3.add(p3_5);
JPanel p3_3=new JPanel();
JLabel jlbIID=new JLabel("转入的帐户");
jtfIID=new JTextField(26);
p3_3.add(jlbIID);
p3_3.add(jtfIID);
p3.add(p3_3);
JPanel p3_4=new JPanel();
btVirement=new JButton("转入");
btVirement.addActionListener(this);
p3_4.add(btVirement);
p3.add(p3_4);
p3.setBorder(BorderFactory.createTitledBorder("转帐业务"));
this.add(p3);
}
}
public void actionPerformed(ActionEvent e) {
byte [] data=new byte[1024];
if(e.getSource()==btDeposit)
{
try {
message.UpdateInfo(dos, dis,jtfAID.getText().trim(),new String (jpfAPW.getPassword()),null,null, 0,0,4);
if(dis.readBoolean())
{
strMember.setBalance(dis.readFloat());
dos.writeInt(8);
dis.read(data);
strMember.setBalance(Float.valueOf(jtfDeposit.getText().trim())+strMember.getBalance());
message.UpdateSingleInfo(dos,null,0,strMember.getBalance(),3);
}
else
{
JOptionPane.showMessageDialog(null,"帐户/密码有错","提示",JOptionPane.INFORMATION_MESSAGE);
}
} catch (IOException e1)
{
e1.printStackTrace();
}
jtfAID.setText("");
jpfAPW.setText("");
jtfDeposit.setText("");
}
if(e.getSource()==btWithDraw)
{
try {
message.UpdateInfo(dos, dis,jtfAID.getText().trim(),new String (jpfAPW.getPassword()),null,null, 0,0,4);
if(dis.readBoolean())
{
strMember.setBalance(dis.readFloat());
if(strMember.getBalance()-Float.valueOf(jtfWithDraw.getText().trim())>=0)
{
dos.writeInt(8);
dis.read(data);
strMember.setBalance(strMember.getBalance()-Float.valueOf(jtfWithDraw.getText().trim()));
message.UpdateSingleInfo(dos,null,0,strMember.getBalance(),3);
}
else
{
JOptionPane.showMessageDialog(null,"您已余额不足","提示",JOptionPane.INFORMATION_MESSAGE);
}
}
else
{
JOptionPane.showMessageDialog(null,"帐户/密码有错","提示",JOptionPane.INFORMATION_MESSAGE);
}
} catch (IOException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
}
jtfAID.setText("");
jpfAPW.setText("");
jtfWithDraw.setText("");
}
if(e.getSource()==btInquire)
{
try {
message.UpdateInfo(dos, dis,jtfAID.getText().trim(),new String (jpfAPW.getPassword()),null,null, 0,0,4);
if(dis.readBoolean())
{
strMember.setBalance(dis.readFloat());
System.out.println(strMember.getBalance());
JOptionPane.showMessageDialog(null,"该帐户余额为"+strMember.getBalance(),"提示",JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(null,"帐户/密码有错","提示",JOptionPane.INFORMATION_MESSAGE);
}
} catch (IOException e1)
{
e1.printStackTrace();
}
jtfAID.setText("");
jpfAPW.setText("");
}
if(e.getSource()==btVirement)
{
String strMeg=jtfEID.getText().trim()+"/"+new String (jpfEPW.getPassword())+"/"+jtfMoney.getText().trim()+"/"+jtfIID.getText().trim();
try {
message.UpdateInfo(dos, dis,strMeg,null,null,null,0, 0,6);
int kind=-1;
kind=dis.readInt();
System.out.println(kind);
if(kind==1)
{
JOptionPane.showMessageDialog(null,"帐户/密码有错","警告",JOptionPane.WARNING_MESSAGE);
}
if(kind==2)
{
JOptionPane.showMessageDialog(null,"余额不足","警告",JOptionPane.WARNING_MESSAGE);
}
if(kind==3)
{
JOptionPane.showMessageDialog(null,"转帐成功","提示",JOptionPane.INFORMATION_MESSAGE);
}
} catch (IOException e1) {
e1.printStackTrace();
}
jtfEID.setText("");
jpfEPW.setText("");
jtfMoney.setText("");
jtfIID.setText("");
}
}
public void keyPressed(KeyEvent e) {
if((e.getKeyCode()<KeyEvent.VK_0||e.getKeyCode()>KeyEvent.VK_9)&&(e.getKeyCode()!=KeyEvent.VK_PERIOD)&&(e.getKeyCode()!=KeyEvent.VK_BACK_SPACE))
{
JOptionPane.showMessageDialog(null,"请输入数字","警告",JOptionPane.WARNING_MESSAGE);
}
}
public void keyReleased(KeyEvent arg0) {
// TODO 自动生成方法存根
}
public void keyTyped(KeyEvent arg0) {
// TODO 自动生成方法存根
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -