版主,能帮我吗?

songnuan 2000-08-31 04:01:00
我有一个线程的程序Test.java如下:


class Test{
public static void main(String[] args){
Thread foo=new MyThread("Foo");
foo.setPriority(Thread.MIN_PRIORITY);
foo.start();
}
}
class MyThread extends Thread{
String mess;
MyThread (String mess){
this.mess=mess;
}
public void run(){
int i=0;
while(i<20){
try{
sleep(500);
System.out.println(mess+" "+getPriority());
System.out.println(i);
i++;
}
catch(InterruptedException e){}
}
}
}
此线程每0.5秒启动一下,我现在想将此线程作为一个事件源,自己做一个
监听器,当线程的状态改变时,监听器监听出变化,用来做出反应,请问
如何实现,本人对jdk1.1的委托机制了解。(最好有一个例子!)

谢谢!
...全文
151 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackzhu 2000-09-06
  • 打赏
  • 举报
回复
定义你的事件,传递你需要的信息
public class YourEvent extends java.awt.AWTEvent
{
}
定义听众接口
public interface YourListener extends java.util.EventListener
{
public void stateChanged(YourEvent event);
}
类MyThread做如下修改
class MyThread extends Thread{
private Vector listeners;
public void addEventListener(YourListener listener)
{
if(!listeners.contains(listener))
{
listeners.addElement(listener);
}
}
private void notifyListeners()
{
Vector copyOfListeners = (Vector)(listeners.clone());
YourEvent event = new YourEvent(this);
Enumeration enum = copyOfListeners.elements();
while(enum.hasMoreElements())
{
YourListener listener = (YourListener)enum.nextElement();
listener.stateChangend(event);
}
}
public void run(){
int i=0;
while(i<20){
try{
sleep(500);
System.out.println(mess+" "+getPriority());
System.out.println(i);
i++;
notifyListeners();
}
catch(InterruptedException e){}
}
}
需要得到时钟消息的类实现YourListener即可
在main()中调用addListener(),增加希望监听的类
大家好,2009年9月份注册以来,在论坛上学到了许多东西,得得许多会员和版主及管理的助和关爱,真的很感谢大家,正是因为,正是因为大家都是无私且乐于助人,分享自己的宝贵的技术和心得,且使我对EXCEL充满着激情,在我的脑海里总是浮现: 1. 我是ExcelHome论坛的会员,我很荣幸 2. 工作空余时间我会情不自禁来到ExcelHome之家,看看家,学习一些别人的的心得与助一些新会员 3. 那里有太多太多的宝贝,有意外的收获和惊喜(众里寻“她”千百度;踏破铁鞋无觅处,在EH得来全不费功夫) 4. 遇到问题我会在论坛和百度找,再找不到我就会发贴提问。呵呵,这里一定会得到助的 正是因为这些,因为大家的无私,所以我也不能自私,呵呵,分享一下打造“自己2010选项卡”,2010选项卡的修改比2003版的菜单修改复杂了,希望能到一些对这方面感兴趣的朋友,由于水平够,里面有许多不足,欢迎大家指正 ,呵呵,我八婆了一大堆,进入主题 对于Excel2007和2010,你注意到的第一件事可能就是它新外观,沿用多年的菜单与工具栏的用户界面已被抛弃了,取而代之的是选项卡和功能区的新界面,现在我们一步步来制作一个自己的选项卡(首先申明,有些代码和方法来自ExcelHome论坛和网络,在这里谢谢这些提供代码的朋友 ,俗话说的好“前人载树,后人乘凉”,并非个人所写) 第一步:在桌面上创建一个名为customUI的文件夹 第二步:步骤2 打开记事本,在其中复制下面的XML代码:文件名为CustomUI.xml,编码为UTF-8 保存到桌面customUI文件夹中

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧