代码如下:
package stopWatch;import java.awt.*;
import java.awt.event.*;public class Display extends Canvas 
{
    private String display ="00:00:00";
    private int HH,mm,ss;
    public Display()
    {
        setSize(80,30);
    }
    public void setTime(int HH,int mm,int ss)
    {
        System.out.println("seTime被调用了");
        this.HH=HH;
        this.mm=mm;
        this.ss=ss;
        display=this.HH+":"+this.mm+":"+this.ss;
        repaint();
        
    }
    public void paint(Graphics g)
    {
        System.out.println("paint被调用了");
        g.drawRect(210, 210, 78, 28);
        g.fill3DRect(212, 212, 75, 25, true);
        g.setColor(Color.WHITE);
        g.drawString(display, 224, 230);
    }
}package stopWatch;import java.awt.*;
import java.awt.event.*;public class TestStopWatch extends Frame
{
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        new TestStopWatch().init();
    }
    
    public void init()
    {        
        this.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                e.getWindow().dispose();
            }
        });
        this.setTitle("StopWatch");
        
        Button btn1=new Button("+1");
        this.add(btn1,"North");
        btn1.addActionListener(new ActionListener()
        {
            int HH=0,mm=0,ss=0;
            public void actionPerformed(ActionEvent e)
            {
                Display d=new Display();
                d.setTime(HH, mm, ++ss);
            }
        });
        this.add(new Display());
        this.setVisible(true);
        this.setSize(500,500);
    }
}

解决方案 »

  1.   

    小弟刚刚学java,太菜,请大大指教
    分不多,别嫌弃,谢谢了
      

  2.   


    package stopWatch;import java.awt.*;
    import java.awt.event.*;public class TestStopWatch extends Frame
    {
    public static void main(String[] args)
    {
    // TODO Auto-generated method stub
    new TestStopWatch().init();
    }
    private Display d;
    public void init()
    {   
    this.addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    e.getWindow().dispose();
    }
    });
    this.setTitle("StopWatch"); Button btn1=new Button("+1");
    this.add(btn1,"North");
    btn1.addActionListener(new ActionListener()
    {
    int HH=0,mm=0,ss=0;
    public void actionPerformed(ActionEvent e)
    {
    System.out.println(ss);
    d.setTime(HH, mm, ++ss);
    }
    });
    d=new Display();
    d.setPreferredSize(new Dimension(250,180));
    this.add(d,"Center");
    this.setSize(500,500);
    this.setVisible(true);
    }
    }
    package stopWatch;import java.awt.*;
    import java.awt.event.*;
    import java.text.DecimalFormat;public class Display extends Canvas  
    {
    private String display ="00:00:00";
    private int HH,mm,ss;
    private DecimalFormat f = new DecimalFormat("00");
    public Display()
    {
    setSize(100,100);
    }
    public void setTime(int HH,int mm,int ss)
    {
    this.HH=HH;
    this.mm=mm;
    this.ss=ss;
    display=f.format(this.HH)+":"+f.format(this.mm)+":"+f.format(this.ss);
    repaint(); }
    public void paint(Graphics g)
    {
    g.drawRect(210, 210, 78, 28);
    g.fill3DRect(212, 212, 75, 25, true);
    g.setColor(Color.WHITE);
    g.drawString(display, 224, 230);
    }
    public void update(Graphics g)
    {
    g.drawRect(210, 210, 78, 28);
    g.fill3DRect(212, 212, 75, 25, true);
    g.setColor(Color.WHITE);
    g.drawString(display, 224, 230);
    }
    }