| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 485 人关注过本帖
标题:请教一个小程序
只看楼主 加入收藏
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
收藏
 问题点数:0 回复次数:0 
请教一个小程序

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

class CustomEventPanel extends JPanel
implements TimerListener
{ public CustomEventPanel()
{ Timer t = new Timer(1000);
t.addTimerListener(this);
}

public void timeElapsed(TimerEvent evt)
{ Graphics g = getGraphics();
g.fillRect(0, 0, ticks, 10);
ticks++;
g.dispose(); // 为什么要调用这个方法,在paintComponent()下就不用?
}
private int ticks = 0;
}

interface TimerListener extends EventListener
{ public void timeElapsed(TimerEvent evt); // 这个方法完成什么作用啊?
}

class Timer extends Component implements Runnable
{ public Timer(int i)
{ interval = i;
Thread t = new Thread(this);
t.start();
evtq = Toolkit.getDefaultToolkit().getSystemEventQueue();
enableEvents(0);
}

public void addTimerListener(TimerListener l)
{ listener = l;
}

public void run()
{ while (true)
{ try { Thread.sleep(interval);}
catch(InterruptedException e)
{ }
TimerEvent te = new TimerEvent(this);
evtq.postEvent(te);
}
}

public void processEvent(AWTEvent evt)
{ if (evt instanceof TimerEvent)
{ if (listener != null)
listener.timeElapsed((TimerEvent)evt);
}
else super.processEvent(evt);
}

private int interval;
private TimerListener listener;
private static EventQueue evtq;
}

class TimerEvent extends AWTEvent
{ public TimerEvent(Timer t) { super(t, TIMER_EVENT);}
public static final int TIMER_EVENT =
AWTEvent.RESERVED_ID_MAX + 5555;
}

class CustomEventFrame extends JFrame
{ public CustomEventFrame()
{ setTitle("CustomEventTest");
setSize(500, 50);
Container contentPane = getContentPane();
contentPane.add(new CustomEventPanel());
}
}

public class CustomEventTest
{ public static void main(String[] args)
{ JFrame frame = new CustomEventFrame();
frame.show();// 这里用isVisible(true)也是一样吗?有区别吗?
}
}// 能不能解释一下在执行程序时,后台都做了什么事??

搜索更多相关主题的帖子: public import 
2005-12-06 12:13
快速回复:请教一个小程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020662 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved