📄 modifypasspanel.java
字号:
package ATMClient.ClientUI;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JPanel;
import Infor.AccountInfor;
import Share.KeyPad;
public class modifypassPanel extends JPanel{
private JTextField oldpass;
private JTextField newpass1;
private JTextField newpass2;
private JLabel plabel1;
private JLabel plabel2;
private JLabel plabel3;
private KeyPad keypad;
private DealEnterKeyPad dek;
private DealClearKeyPad dck;
private int step=1;
private OnClick onclick;
private JButton goback;
public modifypassPanel(KeyPad kp,OnClick oc)
{
keypad=kp;
onclick=oc;
oldpass=new JPasswordField();
newpass1=new JPasswordField();
newpass2=new JPasswordField();
plabel1=new JLabel("旧 密 码:");
plabel2=new JLabel("新 密 码:");
plabel3=new JLabel("新密码重复:");
plabel1.setSize(75,40);
plabel1.setLocation(274,393);
plabel2.setSize(75,40);
plabel2.setLocation(274,456);
plabel3.setSize(75,40);
plabel3.setLocation(274,519);
oldpass.setSize(130,27);
oldpass.setLocation(350,398);
newpass1.setSize(130,27);
newpass1.setLocation(350,461);
newpass2.setSize(130,27);
newpass2.setLocation(350,524);
this.setLayout(null);
goback=new JButton("返回");
goback.setSize(120,40);
goback.setLocation(452,505);
goback.setBackground(new Color(221,224,217));
goback.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
keypad.setVisible(false);
oldpass.setText("");
newpass1.setText("");
newpass2.setText("");
onclick.goback();
}
});
goback.setVisible(false);
add(goback);
add(plabel1);
add(plabel2);
add(plabel3);
add(oldpass);
add(newpass1);
add(newpass2);
dek=new DealEnterKeyPad();
dck=new DealClearKeyPad();
}
/* 初始化虚拟键盘
* */
public void IniteKeyPad()
{
dotheNext(false);
step=1;
keypad.setSize(208,208);
keypad.setLocation(527,376);
keypad.setListenTextField(oldpass);
keypad.setEnterListener(dek);
keypad.setClearListener(dck);
oldpass.requestFocus();
}
/*下一步动作*/
public void dotheNext(boolean i)
{
boolean t=!i;
goback.setVisible(i);
keypad.setVisible(t);
oldpass.setVisible(t);
newpass1.setVisible(t);
newpass2.setVisible(t);
plabel1.setVisible(t);
plabel2.setVisible(t);
plabel3.setVisible(t);
}
/*
* 虚拟键盘处理实现类
* */
private class DealEnterKeyPad implements KeyPad.EnterListener
{
public void keyEntered()
{
if(step==1)
{
if(!oldpass.getText().equals(""))
{
keypad.setListenTextField(newpass1);
newpass1.requestFocus();
step=2;
}
else
{
onclick.setFrameTishi("请输入旧的密码");
oldpass.requestFocus();
}
}
else if(step==2)
{
if(!newpass1.getText().equals("")&&newpass1.getText().length()==6)
{
keypad.setListenTextField(newpass2);
newpass2.requestFocus();
step=3;
}
else if(newpass1.getText().length()!=6)
{
onclick.setFrameTishi("密码必须为六位");
newpass1.requestFocus();
}
else
{
onclick.setFrameTishi("请输入新的密码");
newpass1.requestFocus();
}
}
else if(step==3)
{
if(!newpass2.getText().equals(""))
{
if(newpass1.getText().equals(newpass2.getText()))
{
onclick.modify(onclick.getAccNumber(),oldpass.getText(),newpass2.getText());
dotheNext(true);
step=1;
}
else
{
onclick.setFrameTishi("两次密码输入不一致,请重新输入");
newpass1.requestFocus();
step=2;
keypad.setListenTextField(newpass1);
newpass1.setText("");
newpass2.setText("");
}
}
else
{
onclick.setFrameTishi("请重复输入新的密码");
newpass2.requestFocus();
}
}
}
}
private class DealClearKeyPad implements KeyPad.ClearListener
{
public void keyClear(JTextField ltf)
{
ltf.setText("");
}
}
public interface OnClick
{
public void setFrameTishi(String msg);
public void modify(String acc,String oldpass,String newpass);
public String getAccNumber();
public void goback();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -