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

📄 zhuanzhangpanel.java

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