📄 zhuanzhangpanel.java
字号:
package ATMClient.ClientUI;
import java.awt.Color;
import java.lang.Integer;
import Infor.AccountInfor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPasswordField;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.JLabel;
import Share.KeyPad;
import javax.swing.JComboBox;
public class zhuanzhangPanel extends JPanel {
private JComboBox sourceText;
private JComboBox goalText;
private JTextField pass1;
private JTextField pass2;
private JTextField money;
private JPanel container;
private KeyPad keypad;
private JButton goon;
private JButton goback;
private JLabel sourcelabel;
private JLabel goallabel;
private JLabel pass1label;
private JLabel pass2label;
private JLabel moneylabel;
private Onclick ts;
private int step=1;
private DealEnterKeyPad dek;
private DealClearKeyPad dck;
AccountInfor tem1,tem2;
private int tem;
public zhuanzhangPanel(KeyPad kp,Onclick tishi)
{
keypad=kp;
ts=tishi;
this.setLayout(null);
sourcelabel=new JLabel("源 账 号:");
goallabel=new JLabel("目标帐号:");
pass1label=new JLabel("密 码:");
pass2label=new JLabel("密码重复:");
moneylabel=new JLabel("转账金额:");
sourcelabel.setSize(55,40);
sourcelabel.setLocation(10,16);
goallabel.setSize(55,40);
goallabel.setLocation(10,65);
moneylabel.setSize(55,40);
moneylabel.setLocation(10,114);
pass1label.setSize(55,40);
pass1label.setLocation(10,163);
pass2label.setSize(55,40);
pass2label.setLocation(10,212);
sourceText=new JComboBox();
goalText=new JComboBox();
pass1=new JPasswordField();
pass2=new JPasswordField();
money=new JTextField();
FieldListener fl=new FieldListener();
pass1.getDocument().addDocumentListener(fl);
pass2.getDocument().addDocumentListener(fl);
sourceText.setSize(130,27);
goalText.setSize(130,27);
money.setSize(130,27);
pass1.setSize(130,27);
pass2.setSize(130,27);
sourceText.setLocation(65,23);
goalText.setLocation(65,72);
money.setLocation(65,121);
pass1.setLocation(65,170);
pass2.setLocation(65,219);
container=new JPanel();
container.setLayout(null);
container.add(sourcelabel);
container.add(pass2label);
container.add(pass1label);
container.add(moneylabel);
container.add(goallabel);
container.add(sourceText);
container.add(goalText);
container.add(pass1);
container.add(pass2);
container.add(money);
container.setOpaque(false);
Border etched=BorderFactory.createEtchedBorder();
container.setBorder(etched);
container.setSize(476,268);
container.setLocation(275,347);
add(container);
goon=new JButton("继续");
goon.setSize(120,40);
goon.setBackground(new Color(221,224,217));
goon.setLocation(330,525);
goon.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
dogoOnNext();
keypad.setVisible(true);
}
});
goback=new JButton("返回");
goback.setSize(120,40);
goback.setLocation(619,525);
goback.setBackground(new Color(221,224,217));
goback.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
dogoOnNext();
ts.goback();
keypad.setVisible(false);
}
});
goon.setVisible(false);
goback.setVisible(false);
add(goon);
add(goback);
dek=new DealEnterKeyPad();
dck=new DealClearKeyPad();
sourceText.requestFocus();
InitKeyPad();
this.setOpaque(false);
}
/*
* 转账下一步动作
* */
public void doNext(boolean i)
{
boolean t=!i;
container.setVisible(t);
keypad.setVisible(t);
goon.setVisible(i);
goback.setVisible(i);
}
/*
* 返回的动作按钮
* */
private void dogoOnNext()
{
tem=0;
tem1=null;
tem2=null;
money.setText("");
pass1.setText("");
pass2.setText("");
keypad.setListenTextField(money);
step=1;
doNext(false);
}
/*设置组合框的值*/
public void setItemS(Object item)
{
sourceText.addItem(item);
}
public void setItemG(Object item)
{
goalText.addItem(item);
}
public void clearItem()
{
goalText.removeAll();
sourceText.removeAll();
}
/*
* 初始化虚拟键盘
* */
public void InitKeyPad()
{
keypad.setSize(208,208);
keypad.setLocation(527,376);
keypad.setListenTextField(money);
keypad.setEnterListener(dek);
keypad.setClearListener(dck);
sourceText.requestFocus();
}
/*
* 虚拟键盘处理实现类
* */
private class DealEnterKeyPad implements KeyPad.EnterListener
{
public void keyEntered()
{
if(step==1)
{
tem1=(AccountInfor)sourceText.getSelectedItem();
tem2=(AccountInfor)goalText.getSelectedItem();
if(!tem1.getAccountNumber().equals(tem2.getAccountNumber())&&!money.getText().equals(""))
{
tem=(new Integer(money.getText()).intValue());
if(!money.getText().equals("")&&tem<10000)
{
keypad.setListenTextField(pass1);
pass1.requestFocus();
step=2;
}
else if(tem>10000)
{
ts.setFrameTishi("转账金额不能大于10000元");
money.requestFocus();
}
else
{
ts.setFrameTishi("请输入转账金额");
money.requestFocus();
}
}
else if(money.getText().equals(""))
{
ts.setFrameTishi("请输入转账金额");
money.requestFocus();
}
else
{
ts.setFrameTishi("不能转账给同一账户");
money.requestFocus();
}
}
else if(step==2)
{
if(!pass1.getText().equals(""))
{
keypad.setListenTextField(pass2);
pass2.requestFocus();
step=3;
}
else
{
ts.setFrameTishi("请输入登录密码");
pass1.requestFocus();
}
}
else
{
if(!pass2.getText().equals(""))
{
if(!pass2.getText().equals(pass1.getText()))
{
ts.setFrameTishi("输入密码不一致,请重新输入");
pass1.setText("");
pass2.setText("");
keypad.setListenTextField(pass1);
pass1.requestFocus();
step=2;
}
else
{
step=1;
doNext(true);
ts.doZhuanzhang(tem1,tem2,pass1.getText(),tem);
}
}
else
{
ts.setFrameTishi("请输入重复密码");
pass2.requestFocus();
}
}
}
}
private class DealClearKeyPad implements KeyPad.ClearListener
{
public void keyClear(JTextField ltf)
{
ltf.setText("");
}
}
private class FieldListener implements DocumentListener
{
public void insertUpdate(DocumentEvent e)
{
keypad.getFocus();
}
public void removeUpdate(DocumentEvent e){}
public void changedUpdate(DocumentEvent e){}
}
public interface Onclick
{
public void setFrameTishi(String msg);
public void doZhuanzhang(AccountInfor a,AccountInfor b,String pass,int money);
public void goon();
public void goback();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -