本篇内容主要讲解“Java中的事件监听机制实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中的事件监听机制实例分析”吧!
Java事件监听机制在图形界面编程的时候应用的比较多。我们会时常对界面进行一系列的操作,比如在输入框输入内容、点击登录注册按钮等等,着一些操作都被称之为事件。当进行这些操作的时候,程序就会采取相应的措施来相应这些事件。
1.事件源对象
(1)什么内容可以成为事件源对象?
只有容器组件和元素组件可以成为事件源对象。
(2)怎么确定界面上谁是事件源对象?
当你的动作发生在哪一个组件上,那么这个组件就是事件源对象。
2、事件监听方法
(1)事件监听方法由事件源对象提供。
(2)事件监听方法捕获事件源对象上面的动作。如果有动作发生,则方法捕获动作,收集源对象的信息和动作信息,然后把这些信息交给事件接口的对象进行处理。
3、事件接口(处理类)
事件接口对象拿到事件监听方法提供的信息后,会根据这些信息,去调用相应的事件处理方法。
接下来我们通过一个简单的实例代码感受一下:
思路
1、构建一个窗体,再装上一个start
按钮。
2、定义LoginListener
事件处理类。这个类继承了ActionListener
动作事件接口,需要重写接口里面的抽象方法。
3、实例化LoginListener
事件处理对象。
4、给事件处理类对象添加动作监听方法,并指定事件处理类对象。
代码实例:
//第一步就简单地构造一个窗体
package Login20190318;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JFrame;
//Draw类继承JFrame类 相当于Draw类就是JFrame类 直接调用JFram类中的属性和方法
public class Draw extends JFrame
{
//入口主函数
public void initUI()
{
this.setSize(1500,600);
FlowLayout flowlayout=new FlowLayout(FlowLayout.CENTER,5,5);
this.setLayout(flowlayout);
JButton button=new JButton("Start");
this.add(button);
this.setVisible(true);
//使窗体获得绘图板权限
Graphics graphics=this.getGraphics();
//实例化监听方法类 并传入参数
DrawLis drawlis=new DrawLis(graphics);
//使按钮button调用监听方法
button.addActionListener(drawlis);
}
public static void main(String[] args)
{
//实例化Draw类并调用入口函数
Draw draw=new Draw();
draw.initUI();
}
}
//定义事件监听方法的类
package Login20190318;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import java.awt.Graphics;
//实现监听接口
public class DrawLis implements ActionListener
{
private Graphics g;
//构造方法用于传参
public DrawLis(Graphics g)
{
this.g=g;
}
//定义监听方法,画一个椭圆
public void actionPerformed(ActionEvent e)
{
Random random = new Random();
int x=random.nextInt(1600);
int y=random.nextInt(1600);
g.fillOval(x,y,60,70);
}
}
到此,相信大家对“Java中的事件监听机制实例分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。