MouseAdpater和precessMouseEvent的区别

而康 2009-12-25 10:21:07
实现的是秒表功能鼠标点上去时开始计时
问题一
两个与鼠标有关 一个是类 一个是方法
MouseAdpater和precessMouseEvent的区别是什么
希望能讲详细一点
问题二

我最后实在不行了合并了一个类 也改成了precessMouseEvent 运行正确了
但是不清楚两个类怎么实现

有两类怎么把它们结合在一起我这代码是错的运行结果不对

全部代码
package package1;
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.*;
class testsw extends Frame{

private static final long serialVersionUID = -9214218370619425665L;
public testsw()
{

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}

);
}
public static void main(String[] args)
{

testsw a=new testsw();
stopwatch b=new stopwatch();
a.setSize(400,400);
a.setTitle("Watch");
a.setVisible(true);
Graphics g=a.getGraphics();这是我想到的把b对象加到a的Graphics()这个地方感觉也不对 这个只画一次没有repaint()
b.paint(g);
}
}
class stopwatch extends Canvas implements Runnable{

private static final long serialVersionUID = 1L;
long st=0;
long et=0;
boolean bstart=false;
public void run()
{

while(bstart)
{
try{
Thread.sleep(500);
}catch(Exception e){e.printStackTrace();}
et=System.currentTimeMillis();
repaint();
}
}

public void swatch()
{


addMouseListener(new MouseAdapter()
{

public void mousePressed(MouseEvent e)
{

System.currentTimeMillis();
repaint();
bstart=true;
new Thread().start();这一句在thread()中指定不了进程试创建的进程
没对象 了很多方法也没想明白 比如想把类s的对象加里面怎么办
还是不用指定对象 不太明白

}
public void mouseReleased(MouseEvent e)
{
et=System.currentTimeMillis();
repaint();
bstart=false;
}


}
);
}



public void paint(Graphics g)
{
Date e=new Date();
SimpleDateFormat sdf =new SimpleDateFormat("HH:MM:SS");
try
{
e=sdf.parse("00:00:00");
}catch(Exception ee){};

e.setTime(e.getTime()+et-st);

String strTime=sdf.format(e);
g.fill3DRect(0,30,150,30,true);
g.setColor(Color.WHITE);
g.drawString(strTime,15,50);


}

}
...全文
28 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
相关推荐
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2009-12-25 10:21
社区公告
暂无公告