

import java.awt.*;

class HitMiss extends Frame
{
    private int hit = 0;
    private int miss = 0;
    TextField hitField, missField;

    HitMiss()
    {
        setTitle( "Hit and Miss" );
        setLayout( new FlowLayout() );
        add( new Button( "button" ) );
        add( new Label( "Hits:" ) );
        hitField = new TextField( 5 );
        add( hitField );
        add( new Label( "Misses:" ) );
        missField = new TextField( 5 );
        add( missField );
    }

    //public boolean mouseDown( Event evt, Object arg )
    // Respond to mouse clicks
    public boolean mouseDown( Event evt, int x, int y )
    {
        System.out.println("HitMiss.mouseDown: " + "evt = " + evt );
        /*
        if ( arg.equals( "button" ) )
        {
            addHit();
        }
        else
        {
        */
            addMiss();
        //}
        return true;
    }

    // Respond to button clicks
    public boolean action( Event e, Object arg )
    {
      
        System.out.println("HitMiss.action: e = " + e + ", arg = " + arg );
        if ( e.arg == "button" )
        {
            addHit();
            return true;
        }
        else
        {
            return false;
        }
    }

    public void addHit()
    {
        hit++;
        repaint();
    }

    public void addMiss()
    {
        miss++;
        repaint();
    }

    // Respond to window destroy
    public boolean handleEvent( Event e )
    {
        System.out.println("HitMiss.handleEvent: e = " + e );
        if ( e.id == Event.WINDOW_DESTROY )
        {
             System.exit( 0 );
        }
        if ( e.id == Event.MOUSE_DOWN )
        {
            addMiss();
            return true;
        }
        if ( e.id == Event.ACTION_EVENT )
        {
            if ( e.arg == "button" )
            {
                addHit();
                return true;
            }
        }
        return super.handleEvent( e );
    }

    public void paint( Graphics g )
    {
        hitField.setText( String.valueOf( hit ) );
        missField.setText( String.valueOf( miss ) );
    }

    public static void main( String argv[] )
    {
        HitMiss f = new HitMiss();
        f.resize( 200,100 );
        f.show();
    }
}
