| HOME | FORUM | INDICE |

download CheckRadioEsempio.java

/*
    L'esempio mostra l'utilizzo del controllo Checkbox.

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

*/


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

class CheckRadioEsempio extends Frame
{
    Label msg_reddito= new Label("REDDITO (Euro): ", Label.LEFT);
    Label msg_hobby= new Label("HOBBIES: ", Label.LEFT);

    /*
        crea l'insieme dei controlli di tipo Checkbox
        a scelta esclusiva (Radio Option).
        L'associazione al gruppo reddito, istanza della
        classe CheckboxGroup, trasforma i Checkbox in Radio Option.
    */

    CheckboxGroup reddito= new CheckboxGroup();
    Checkbox r1= new Checkbox("0-10.000", true, reddito);
    Checkbox r2= new Checkbox("10.000-20.000", false, reddito);
    Checkbox r3= new Checkbox("20.000-30.000", false, reddito);
    Checkbox r4= new Checkbox("Oltre 30.000", false, reddito);

    //insieme dei controlli Checkbox
    Checkbox h1= new Checkbox("Lettura");
    Checkbox h2= new Checkbox("Musica");
    Checkbox h3= new Checkbox("Computer");
    Checkbox h4= new Checkbox("Pesca");

    CheckRadioEsempio ObjMain;

    //costruttore della classe
    public CheckRadioEsempio()
    {
        //aggiunge il gestore degli eventi alla finestra
        addWindowListener(new GestoreWindow());
        ObjMain= this;

        /*
            viene creato il pannello che conterrā
            i Radio Option
        */

        Panel con_red= new Panel();

        con_red.add(msg_reddito);
        con_red.add(r1);
        con_red.add(r2);
        con_red.add(r3);
        con_red.add(r4);

        //il pannello č aggiunto nella zona alta della finestra
        add(con_red, BorderLayout.NORTH);

        /*
            viene creato il pannello che conterrā
            i CheckBok
        */

        Panel con_hob= new Panel();

        con_hob.add(msg_hobby);
        con_hob.add(h1);
        con_hob.add(h2);
        con_hob.add(h3);
        con_hob.add(h4);

        //il pannello č aggiunto nella zona centrale della finestra
        add(con_hob, BorderLayout.CENTER);

    }

    /*
        genera una stringa descrittiva relativa all'input dell'utente
    */

    public String Resoconto()
    {
        String ris= msg_reddito.getText() + " ";
        if (r1.getState())
        {
            ris += r1.getLabel();
        }
        
        if (r2.getState())
        {
            ris += r2.getLabel();
        }

        if (r3.getState())
        {
            ris += r3.getLabel();
        }

        if (r4.getState())
        {
            ris += r4.getLabel();
        }

        ris += "\n" + msg_hobby.getText();

        if (h1.getState())
        {
            ris += " " + h1.getLabel();
        }
        
        if (h2.getState())
        {
            ris += " " + h2.getLabel();
        }

        if (h3.getState())
        {
            ris += " " + h3.getLabel();
        }

        if (h4.getState())
        {
            ris += " " + h4.getLabel();
        }

        return ris;
    }

    //override del metodo ereditato
    public String toString()
    {
        return Resoconto();
    }

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

        //imposta la dimensione della finestra
        obj.setSize(600,200);
        
        //imposta il titolo della finestra
        obj.setTitle("Test Check e Radio button");

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

    //gestore degli eventi 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)
        {
            /*
                visualizza nella console la stringa
                descrittiva delle scelte dell'utente
            */

            System.out.println(ObjMain);

            Window f= e.getWindow();
            f.dispose();
        }

        public void windowOpened(WindowEvent e)
        {}
    }
}