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

📄 _201card.java

📁 模拟201卡电话机程序
💻 JAVA
字号:
/*
 * @(#)_201card.java 1.0 03/03/29
 *
 * Author:caiminsheng
 * 
 * Email:minshengcai@21cn.com
 * 
 * zhanjiang ocean university
 * 
 */

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.util.Timer;
import java.util.TimerTask;

public class _201card{          //Java Application的主类
	public static void main(String[] args) {
		MainFrame MyFrame = new MainFrame();  
		MyFrame.setLocation(200,150);
	}
}

class MainFrame extends Frame implements ActionListener{
	Vector vector;
	int sequence;    //当前卡在vector中的位置
	Timer timer;    //定时器
	boolean bool1=false,bool2=false,bool3=false; //标志位
	String num;   //保存输入数字串
	Panel pl1,pl2;
	TextField tf;
	Label lb;
	Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btn11,btn12;
	
	MainFrame(){             //窗体初始化
		super("_201card.1.0");
		vector=new Vector();
		timer=new Timer(true);
		num=new String("");
		addWindowListener(new closeWin());//窗口事件注册,使closeWin监听处理窗口事件
 
 	    pl1=new Panel();
	    tf=new TextField(15);
	    tf.setEnabled(false);
	    pl1.add(tf);
	    add("North",pl1);
	    
	    lb=new Label("               欢迎使用201卡电话服务系统              ",Label.CENTER);
	    add("Center",lb);
	    
	    pl2=new Panel();
	    pl2.setLayout(new GridLayout(4,3));
	    btn1=new Button("1");btn2=new Button("2");btn3=new Button("3");
	    btn4=new Button("4");btn5=new Button("5");btn6=new Button("6");
	    btn7=new Button("7");btn8=new Button("8");btn9=new Button("9");
	    btn10=new Button("提机");btn11=new Button("0");btn12=new Button("#");
	    btn1.addActionListener(this);btn2.addActionListener(this);
	    btn3.addActionListener(this);btn4.addActionListener(this);
	    btn5.addActionListener(this);btn6.addActionListener(this);
	    btn7.addActionListener(this);btn8.addActionListener(this);
	    btn9.addActionListener(this);btn10.addActionListener(this);
	    btn11.addActionListener(this);btn12.addActionListener(this);
	    btn1.setEnabled(false);btn2.setEnabled(false);btn3.setEnabled(false);
	    btn4.setEnabled(false);btn5.setEnabled(false);btn6.setEnabled(false);
	    btn7.setEnabled(false);btn8.setEnabled(false);btn9.setEnabled(false);
	    btn11.setEnabled(false);btn12.setEnabled(false);
	    pl2.add(btn1);pl2.add(btn2);pl2.add(btn3);pl2.add(btn4);
	    pl2.add(btn5);pl2.add(btn6);pl2.add(btn7);pl2.add(btn8);
	    pl2.add(btn9);pl2.add(btn10);pl2.add(btn11);pl2.add(btn12);
	    add("South",pl2);
	    
	    pack();
	    show();
	}
	
	public void actionPerformed(ActionEvent e){
		if(e.getActionCommand()=="提机")
		{
			btn1.setEnabled(true);btn2.setEnabled(true);btn3.setEnabled(true);
	        btn4.setEnabled(true);btn5.setEnabled(true);btn6.setEnabled(true);
	        btn7.setEnabled(true);btn8.setEnabled(true);btn9.setEnabled(true);
	        btn11.setEnabled(true);btn12.setEnabled(true);
			btn10.setLabel("买卡");
			lb.setText("先买卡,再打电话");
			try{                //延时3秒后,显示提示信息
			     Thread.sleep(1000);
			}
		    catch(InterruptedException ex){}
		    lb.setText("使用已经存在的卡?请输入帐号按#号结束");
		}
		else if(e.getActionCommand()=="买卡")
		{
			vector.addElement(new class201()); //产生新卡并存在vector中
			lb.setText("新卡帐号:"+((class201)vector.lastElement()).accounts+
			           "密码:"+	((class201)vector.lastElement()).password);
			try{                //延时3秒后,显示提示信息
			     Thread.sleep(3000);
			}
		    catch(InterruptedException ex){}
		    lb.setText("请输入你的帐号并按#号结束");
		}
		else if(e.getActionCommand()=="挂机")
		{
		    lb.setText("         欢迎使用201卡电话服务系统        ");
			btn12.setLabel("#");
			btn1.setEnabled(false);btn2.setEnabled(false);btn3.setEnabled(false);
	        btn4.setEnabled(false);btn5.setEnabled(false);btn6.setEnabled(false);
	        btn7.setEnabled(false);btn8.setEnabled(false);btn9.setEnabled(false);
	        btn11.setEnabled(false);btn12.setEnabled(false);
			bool1=false;bool2=false;
			btn10.setLabel("提机");
			num="";
		}
		else if(e.getActionCommand()=="#")
		{
			if(bool1==false)   //输入正确的帐号时bool1设置为true
			{
				for(int i=0;i<vector.size();i++) //检查卡号是否存在
				{
					if(((class201)vector.elementAt(i)).accounts==Integer.parseInt(num))
					{
						lb.setText("请输入你的密码并按#号结束");
						sequence=i;
						bool1=true;
						tf.setText("");
						tf.setEchoChar('*');   //输入密码时不回显
					}
				}
				if(bool1==false)      //卡号不存在
				{
					lb.setText("帐号出错!请重试");
				}
				num="";
			}
			else if(bool2==false)   //输入正确密码时bool2设置为true
			{
				for(int i=0;i<vector.size();i++)
				{
					if((((class201)vector.elementAt(i)).password==Integer.parseInt(num)))
					{
						tf.setText("");
						tf.setEchoChar('\0'); //输入回显
						lb.setText("输入要拨打的号码按#号结束,其他服务按#号");
						bool2=true;
					}
				}
				if(bool2==false)    //密码错
				{
					lb.setText("卡号与密码不匹配,请重试");
				}
				num="";
			}
			else if(num.length()==0&&bool3==false)  //输入#前没有输入数字时执行

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -