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);
}
}