java自定义监听事件(java 自定义事件监听)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享java自定义监听事件的知识,其中也会对java 自定义事件监听进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、JAVA 请编写一个可以监听单击事件的类
- 2、java中监听事件怎么设置
- 3、java中鼠标监听事件的自定义方法
- 4、java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应?
- 5、Java中使用观察者模式实现自定义事件
JAVA 请编写一个可以监听单击事件的类
鼠标事件要添加mouselistener,捕获mouseevent。mouselistener里的几个闭清事件的参数都是mouseevent,mouseevent提供了获得点击了哪个键的方法getbutton。比如下面这个点击事件处理。
public
void
mouseclicked(mouseevent
arg0)
{
if(arg0.getbutton()
==
mouseevent.button1)
{
//
左键点击
}
else
if(arg0.getbutton()
==
mouseevent.button2)
{
//
中键点击
}
else
if(arg0.getbutton()
==
mouseevent.button3)
{
//
右键点敬烂击
}
}
添加监听是addmouselistener方法,取消监轿稿前听当然就是removemouselistener方法了。

java中监听事件怎么设置
javax.Swing实现button的监听有知皮两种方式:
方法一:实现 implements ActionListener接口,然后实现竖猛缺它余辩的抽象方法
public void actionPerformed(ActionEvent e) {
//写点击按钮后发生的操作代码
}
方法二: jButton.addAtionListener(new ActionEvent (){
//写点击按钮后发生的操作代码
});
java中鼠标监听事件的自定义方法
楼主,你是想写SWING程序、还是要写一个类模拟鼠标事件呢
AWT\拦咐SWING中,很轻松监听鼠标简启纯事件旁散的了。
java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应?
线程a是作为事件源,那么线程a这个类就必须提供一个可以增加监听器的方法,就像GUI编程中的addActionListener这个样的方喊谈法。线程a这个类里面是有一个专门存放监听器的一个容器,例如是list。然后你 增加监听器的方法就是把监听器败渗哪放进这个容器里面。你用一个监听器去监听一个事件的发生,就可以在线程a这个类中,写一个产生事件的一段代码,然后每当产生一个事件之后,去遍历list,去调用监听察码器的对于这个事件的处理方法,这样子就可以了。这应该就是java中的事件模式。
Java中使用观察者模式实现自定义事件
MyEventTest java:
package wintys event;
import javax swing event EventListenerList;
import java util Date;
import java text DateFormat;
import java text SimpleDateFormat;
/**
* Java的事件机制/自定义事件
运行结果:
do something interesting in source here
listener detects [event]:wintys event MyEvent[source=wintys event MySource@
] [occur at]: : :
listener detects [event]:wintys event MyEvent[source=wintys event MySource@
] [occur at]: : :
* @version
* @author 天堂露珠 ()
* @see
*/
class MyEventTest{
public static void main(String[] args){
MySource source = new MySource();
MyListener myListener = new MyListener(){
public void doMyAction(MyEvent e){
System out println( listener detects + e);
}
};
source addMyListener(myListener);
source addMyListener(myListener);
source addMyListener(myListener);
source removeMyListener(myListener);
亏友source doSomething();
}
}
/**
* 自定义的事件
* @version
* @author 天堂露珠()
* @see
*/
class MyEvent extends java util EventObject{
private Date date;//记录事件发生的时间
public MyEvent(Object source Date date){
super(source);
this date = date;
}
public String toString(){
DateFormat df = new SimpleDateFormat( yyyy MM dd HH:mm:ss );
String dt = df format(date);
return [event]: + super toString() + [occur at]: + dt;
}
}
/**
* 自定义事件监听器接口
* @version
* @author 天堂露珠()
* @see
*/
interface MyListener extends java util EventListener{
void doMyAction(MyEvent e);
高高 }
/**
* 自定义事件源
* @version
* @author 天堂露珠()
* @see
*/
class MySource{
/**
* 保存注册的监听器戚空尺列表
* 子类可以使用它保存自己的事件监听器(非MyListener监听器)列表
*/
protected EventListenerList listenerList = new EventListenerList();
private MyEvent myEvent = null;//fireDoMyAction()使用此变量
/**
* 没有做任何事
*/
public MySource(){
}
/**
* 添加一个MyListener监听器
*/
public void addMyListener(MyListener listener){
listenerList add(MyListener class listener);
}
/**
* 移除一个已注册的MyListener监听器
* 如果监听器列表中已有相同的监听器listener listener
* 并且listener ==listener
* 那么只移除最近注册的一个监听器
*/
public void removeMyListener(MyListener listener){
listenerList remove(MyListener class listener);
}
/**
* @return 在此对象上监听的所有MyListener类型的监听器
*/
public MyListener[] getMyListeners(){
return (MyListener[])listenerList getListeners(MyListener class);
}
//Winty:Copy directly from javax swing event EventListenerList
/*Notify all listeners that have registered interest for
notification on this event type The event instance
is lazily created using the parameters passed into
the fire method
*/
protected void fireDoMyAction() {
// getListenerList() Guaranteed to return a non null array
Object[] listeners = listenerList getListenerList();
// Process the listeners last to first notifying
// those that are interested in this event
for (int i = listeners length ; i= ; i = ) {
if (listeners[i]==MyListener class) {
// Lazily create the event:
if (myEvent == null)
myEvent = new MyEvent(this new Date());
((MyListener)listeners[i+ ]) doMyAction(myEvent);
}
}
}
/**
* 做一些事件源应该做的有意义的事 然后通知监听器
* 这里只是一个示例方法
* 例如:MySource如果是一个按钮 则doSomething()就可以命名为click()
* 当用户点击按钮时调用click()方法
*/
public void doSomething() {
System out println( do something interesting here );
fireDoMyAction();//通知监听器
}
}
lishixinzhi/Article/program/Java/hx/201311/26237
java自定义监听事件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 自定义事件监听、java自定义监听事件的信息别忘了在本站进行查找喔。
