导航:首页 > 编程语言 > java定义事件

java定义事件

发布时间:2024-07-10 12:38:43

java 自定义事件的触发及监听

JAVA事件响应机制

1,先自定义一个事件

public class MyEvent extends java.util.EventObject{
public MyEvent(Object source)
{
super(source);
}
}

2,再自定义一个监听器

public class MyListener implements java.util.EventListener{
//这里是当事件发生后的响应过程
public void EventActivated(MyEvent me)
{
System.out.println("事件已经被触发");
}
}

3,以下这个类为触发事件的事件源

public class MyObject {
private Vector vectorListeners=new Vector();

public synchronized void addMyListener(MyListener ml)
{
vectorListeners.addElement(ml);
}

public synchronized void removeMyListener(MyListener ml)
{
vectorListeners.removeElement(ml);
}

protected void activateMyEvent()
{
Vector tempVector=null;

MyEvent e=new MyEvent(this);

synchronized(this)
{
tempVector=(Vector)vectorListeners.clone();

for(int i=0;i<tempVector.size();i++)
{
MyListener ml=(MyListener)tempVector.elementAt(i);
ml.EventActivated(e);
}
}

}

//定义一个公用方法用于触发事件
public void test()
{
activateMyEvent();
}
}

4,测试类

public class Test {

public static void main(String[] args)
{
MyObject mo=new MyObject();

//注册该事件
mo.addMyListener(new MyListener());

//触发该事件
mo.test();
}
}

❷ java什么是事件什么是事件源

常见的事件包括 移动鼠标 , 单双击鼠标各个按钮 ,单击按钮 ,在文本字段输入 ,在菜单中选择菜单项 ,在组合框中选择、单选和多选 ,拖动滚动条 ,关闭窗口.........
事件源 与用户进行交互的GUI组件,表示事件来自于哪个组件或对象
比如要对按钮被按下这个事件编写处理程序,按钮就是事件源

❸ 用java写一个单击鼠标事件

使用组件的paint函数用于绘图, 使用MouseListener来响应鼠标的点击

效果图

importjava.awt.Color;
importjava.awt.Graphics;
importjava.awt.event.*;
importjavax.swing.*;

{

publicDemoWin(){
MyPanelmp=newMyPanel();
mp.addMouseListener(mp);
add(mp);
//窗口属性设置
setTitle("Demo");//标题
setSize(300,280);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//窗口点击关闭时,退出程序
}

publicstaticvoidmain(String[]args){
DemoWinwin=newDemoWin();//创建窗口
win.setVisible(true);//显示窗口
}

{
inttimes;//记录点击的次数
intx;//记录鼠标X轴的位置
inty;//记录鼠标Y轴的位置

@Override
publicvoidpaint(Graphicsg){
super.paint(g);
if(times==0){
g.setColor(Color.BLUE);//颜色
g.fillOval(150,150,50,50);//150,150代表位置50,50代表宽高
}elseif(times==1){
g.setColor(Color.RED);
g.fillRect(150,150,50,50);
}else{
g.setColor(Color.RED);
g.fillRect(x,y,50,50);
}
repaint();
}

publicvoidmouseClicked(MouseEvente){
//if(e.getButton()==MouseEvent.BUTTON1){//单击左键时有效..
//times++;//记录点击的次数
//x=e.getX();
//y=e.getY();
//}
}

publicvoidmousePressed(MouseEvente){//鼠标按下就有效
times++;//记录点击的次数
x=e.getX();
y=e.getY();
}

publicvoidmouseReleased(MouseEvente){//鼠标释放
}

publicvoidmouseEntered(MouseEvente){//鼠标移入
}

publicvoidmouseExited(MouseEvente){//鼠标移出
}

}
}

❹ java中什么是事件源,事件的处理过程是什么

在java的图形界面开发中,要让图形界面接收到用户的操作,就要给各个组件添加事件处理机制。

事件 : 为了实现用户对图形界面组件的操作,定义了一些事件

鼠标事件:单击,双击,滚轮等....

键盘事件 按下键盘,松开按键等...

焦点事件 :焦点获得 ,焦点失去...

窗口事件: 窗口打开,窗口关闭等....


事件源: 发声事件的场所. 比如按钮被点击,那么事件源就是按钮

文本框获得焦点. 那么事件源就是文本框

窗口被关闭,那么事件源就是窗口


事件源-----产生----->事件------>被事件监听器发现------>进入事件处理代码

importjava.awt.Frame;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
{//窗口就是事件源
publicDemoAction(){
this.setTitle("窗口关闭");
this.setLocation(400,200);
this.setSize(360,280);
//给窗口绑定一个事件监听器
this.addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){//事件WindowEvent
System.exit(0);//关闭窗口事件,那么退出jvm
}
});
this.setVisible(true);
}

publicstaticvoidmain(String[]args){
newDemoAction();
}
}

❺ java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应

线程a是作为事件源,那么线程a这个类就必须提供一个可以增加监听器的方法,就像GUI编程中的addActionListener这个样的方法。线程a这个类里面是有一个专门存放监听器的一个容器,例如是list。然后你 增加监听器的方法就是把监听器放进这个容器里面。你用一个监听器去监听一个事件的发生,就可以在线程a这个类中,写一个产生事件的一段代码,然后每当产生一个事件之后,去遍历list,去调用监听器的对于这个事件的处理方法,这样子就可以了。这应该就是java中的事件模式。

❻ JAVA 什么是事件事件是怎么产生的

就是一个动作或指令或结果等,比如你单击鼠标的左键,按下回车键,敲进一个字符等都是一个事件。

阅读全文

与java定义事件相关的资料

热点内容
安卓路由表怎么看 浏览:74
10个小孩分糖果python 浏览:823
安卓app小红点怎么取消 浏览:286
马哥linux面授 浏览:768
2345程序员 浏览:371
怎么开启网速显示安卓 浏览:204
索尼950app怎么样 浏览:391
计算机毕设论文源码 浏览:148
小米手机怎么下载易媒体App 浏览:191
还原系统设计可以怎样清理文件夹 浏览:670
北京时间校准服务器云服务器 浏览:844
pythonexcel数据计算 浏览:49
内医附院党建APP怎么下载 浏览:356
荣耀v20刷加密门禁卡 浏览:329
app缓冲视频怎么保存在手机 浏览:433
广度优先算法c语言 浏览:680
提高程序员竞争力 浏览:108
nfc可以开加密门卡吗 浏览:675
如何知道网页使用的服务器是什么 浏览:224
单片机接反电源会烧吗 浏览:287