⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modifypasspanel.java

📁 没有使用集成开发环境
💻 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 + -