Java事件

接口和事件
定义接口的关键字:interface,且接口可以继承接口,所用的关键字还是extends
接口可以规定一个类的基本形式:方法名,参数列表及返回类型,但不能写方法主体。
接口中的数据成员默认为static静态的,和final终结的(不可更改的)。
所以说接口只提供形式,而无实施的细节。
接口中的所有方法都是抽象的,关键字为abstract
接口的实现:
关键字implements
且实现接口必须实现接口中的所有抽象方法。
一个类可实现多个接口,以此来实现多继承。
事件
事件源:所有的图形界面控件(容器,元素)
你的动作发生在哪一个控件上,那么该控件就是事件源对象。
事件监听器的方法:用来监听不同动作的发生,当相应监听器方法监听到动作后,会自动
调用相应的事件接口或事件抽象类的对象进行处理。
addActionListener(ActionListener l) 监听器类似按钮控件的点击操作,类似输入框控件的回车操作
addMouseListener(MouseListener ml) 监听鼠标的进入,离开,按下,释放和单击操作
addMouseMotionListener(MouseMotionList ll); 监听鼠标的拖动和移动操作
addKeyListener(KeyListener kl) 监听键盘的按下和释放操作


练习:显示画板
画板首先继承JFrame,之后初始化界面。因为要画图形,所以必须要取到画笔才可以。而界面就是画出来的,所以说当界面实现以后,可以从此取得画笔。
this.setVisible(true);
java.awt.Graphics g =this.getGraphics();
之后要加一个鼠标监听器

实例化接口对象
PaintListener pl = new PaintListener(g);
this.addMouseListener(pl);

Mouselistener是一个接口,所以要另外写一个类来实现接口
public class PaintListener implements MouseListener

因为是实现接口所以要实现接口中的所有抽象方法
//单击
public void mouseClicked(MouseEvent e){
}
//按下
public void mouseReleased(MouseEvent e){

}
public void mousePressed(MouseEvent e){

}

//鼠标进入
public void mouseEntered(MouseEvent e){

}
//鼠标离开
public void mouseExited(MouseEvent e){

}

之后可以在写方法体,当监听到设定好的动作时,作出相应的反应
public void mouseClicked(MouseEvent e){
for(int i=0;i<255;i++){
g.setColor(new Color(i,i+50,i+100));

g.drawOval(i, i, width, height);
width+=5;
height+=5;

}
}

在这个练习还需注意一点,因为画笔在另一个类中(Paint类),而要将画笔用在(PaintListener类)中,所以需要传参数。
传参有两种方法,一种是构造方法,另一种是set()方法。但是这两种都要先定义私有属性
private Graphics g ;
构造方法
public PaintListener(Graphics g){
this.g = g;

}

private Graphics g ;
set()方法
public void setPaintListener(Graphics g){
this.g = g;
}

我会继续努力学习的!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值