事件机制

 

1.接口

   其实就是一种特殊类{

      属性:只能是常量final

      方法:抽象方法   abstract

      }

      public final int N = 10;

      public abstract void study();

      }

注意

1.接口不能实例化对象。

2.抽象方法必须要以分号结束。

3.常量名的每一个字母必须要大写。

4. 接口中只能定义常量和抽象方法。

5.接口不能继承类,但是可以继承一个或者多个接口。

 

      比如机器人即继承人和机器

 

2.定义接口

   关键字:interface

   格式

      public interface 接口名{

         属性:常量

         方法:抽象方法

      }

 

3.接口的使用

   接口不能直接实例化对象,使用另外一个类来实现接口。

   关键字:implements(实现)---(继承)

   格式:

      public class 类名 implements 接口,...{

         实现所有的接口中所有的方法,重写

         public void study(){

            System.out.println("学习方法");

        } 

         定义自己的属性和方法

     }

 

   注意:

1.   <!--[endif]-->接口不能直接实例化对象

2.   <!--[endif]-->实现接口的对象必须将接口中的抽象方法全部重写

 

事件机制

      当组件上发生动作时程序作出相应的反应

1.事件源 

      动作发生的组件即事件源   

      :既然是组件    则只有所有图形界面组件对象(swing awt)才可能是事件源

         CheckBox  ComboBox  TextField  PasswordField Button……等组件

2.事件监听器

      当事件发生的时候要能够察觉则要使用事件监听器

   常用事件监听器:

     动作监听器方法

     addActionListener(ActionListener al);

     鼠标监听器方法

     addMouseListener(MouseListener ml);

     鼠标移动监听器方法

     addMouseMotionListener(MouseMotionListener mml);

     键盘监听器方法

     addKeyListener(KeyListener kl);  

3.事件处理类

   当监听器得到命令时由事件处理类来执行相应的反应

   前面的事件监听器都是接口   则要事件处理类就是要实现他们

 

一个简单的例子

1.界面

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JComboBox;
public class Test {
     public static void main(String args[]){
    	 //建一个对象
    	 Test at=new Test();
    	 //调用方法名
    	  at.jf();
     }
public void jf(){
    	 //创建一个窗体
    	javax.swing.JFrame jf =new javax.swing.JFrame();
                   jf.setSize(200,200);
    	 jf.setTitle("简单例子");
    	 jf.setLocation(40, 30);
    	 jf.setDefaultCloseOperation(3);
                   jf.setLayout(null);
                    //设置按钮
    	 javax.swing.JButton btn=new javax.swing.JButton("输出明文");
                    btn.setBounds(80, 35, 80,30);
                    jf.add(btn);

                   //密码输入框
    	 javax.swing.JPasswordField passf=new javax.swing.JPasswordField();
    	 passf.setBounds(0, 0, 200, 30);
    	 jf.add(passf);
    	 //创建监听器对象
    	 ActionListener al = new MyListener(passf);
    	 //把监听器添加到事件源上
    	 btn.addActionListener(al);
          
                    //显示界面
    	 userinterface.setVisible(true);
 }

2.事件处理类

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JPasswordField;

public class MyListener implements ActionListener{
	
	private JPasswordField jpf;
	
	
	public MyListener(JPasswordField jpf){
		this.jpf = jpf;
		
	}
	
    /**
     * Invoked when an action occurs.
     */
    public void actionPerformed(ActionEvent e){
    	
    	System.out.println(jpf.getPassword());
    }
}

 这样  一个输入在密码框里的密文就被输出其明文了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值