| HOME | FORUM | INDICE |

download Pulsante.java

/*
    L'esempio mostra la gestione dell'evento CLICK di un pulsante.

    Autore: Agosto 2009, Giovanni Iacobelli - http://www.iacosoft.com

*/


import java.awt.*;
import java.awt.event.*;

class Pulsante extends Frame
{
    Label msg= new Label("Non hai cliccato il pulsante", Label.CENTER);
    Button cmd= new Button("Cliccami");
    Pulsante ObjMain;

    //costruttore
    public Pulsante()
    {
        //aggiunge il gestore dell'evento CLICK al pulsante
        cmd.addActionListener(new GestoreClick());
        //imposta un nome (qualsiasi) per questa azione
        cmd.setActionCommand("CLICK");

        //aggiunge l'etichetta nella zona superiore della finestra
        add(msg, BorderLayout.NORTH);

        //aggiunge il pulsante nella zona inferiore della finestra
        add(cmd, BorderLayout.SOUTH);
        
        //aggiunge il gestore all'evento di chiusura della finestra
        addWindowListener(new GestoreWindow());
        
        ObjMain= this;
    }

    //punto d'ingresso dell'applicazione
    public static void main(String[] args)
    {
        Pulsante obj= new Pulsante();
        
        //imposta la posizione della finestra
        obj.setLocation(100,100);

        //imposta la dimesione della finestra
        obj.setSize(300,200);

        //imposta il titolo della finestra
        obj.setTitle("Test pulsante");

        //rende visibile la finestra
        obj.show();
    }

    //gestore all'evento CLICK del pulsante
    class GestoreClick implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            //al click del pulsante viene impostato il messaggio nella label (msg)

            String azione= e.getActionCommand();
            
            if (azione.compareTo("CLICK")== 0)
            {
                msg.setText("Hai cliccato il pulsante!");
                cmd.setActionCommand("CLICK_SUCCESSIVO");

            } else if (azione.compareTo("CLICK_SUCCESSIVO")== 0)
            {
                msg.setText("Hai cliccato di nuovo il pulsante!");
                
            }
            
            //cambia il titolo della finestra
            ObjMain.setTitle("CLICK!");
        }
    }

    //gestore per l'evento di chiusura della finestra
    class GestoreWindow implements WindowListener
    {
        public void windowDeactivated(WindowEvent e)
        {}

        public void windowClosed(WindowEvent e)
        {}

        public void windowActivated(WindowEvent e)
        {}
        
        public void windowDeiconified(WindowEvent e)
        {}

        public void windowIconified(WindowEvent e)
        {}

        public void windowClosing(WindowEvent e)
        {
            Window f= e.getWindow();
            f.dispose();
        }

        public void windowOpened(WindowEvent e)
        {}
    }
}