Esempio di uso dei componenti

  • Testo
  • Il testo dell'esempio è componenti.java
    import java.awt.*;
    import java.applet.Applet;
    import java.io.*;
    import java.net.*;
    
    public class componenti extends Applet {
    
      Button bottone;
      Label label;
      Checkbox checkbox;
      Checkbox check1;
      Checkbox check2;
      CheckboxGroup checkGroup;
      Choice choice;
      List list;
      TextField field;
      TextArea textArea;
      Scrollbar scrollbar;
        
    
      public void init () {
        setBackground (Color.white);     // Sfondo applet
        setLayout (new BorderLayout ()); // Layout con le cinque posizioni
    		
        Panel np = new Panel ();             // Pannello (un'area)
        np.setLayout (new GridLayout (3,1)); // Griglia di una colonna con tre righe
      
        // Prima Riga     
        label = new Label ("Label");              // Occupa tutta la prima riga
        np.add (label);
    
        // Seconda Riga
        Panel np1 = new Panel ();                 // La seconda riga e' un'altro pannello
        np1.setLayout (new FlowLayout ());        // Questo mette gli elementi in fila
        checkbox = new Checkbox ("Checkbox");
        checkbox.setBackground (Color.white);
        np1.add (checkbox);
    
        checkGroup = new CheckboxGroup ();        // Radio button - raggruppati - uno spegne l'altro
        check1 = new Checkbox ("Scelta1", checkGroup, false);
        check1.setBackground (Color.white);
        np1.add (check1);
    
        check2 = new Checkbox ("Scelta2", checkGroup, false);
        check2.setBackground (Color.white);
        np1.add (check2);
        np.add (np1);
    
        // Terza Riga     
        Panel np2 = new Panel ();                 // Ancora un pannello
        np2.setLayout (new GridLayout (1,3));     // Una riga e tre colonne
        field = new TextField (20);
        np2.add (field);                          // Prima colonna
    
        choice = new Choice ();
        choice.addItem("one");
        choice.addItem("two");
        choice.addItem("three");
        choice.addItem("four");
        np2.add (choice);                         // Seconda colonna
        
        scrollbar = new Scrollbar (Scrollbar.HORIZONTAL,0,10,0,100);
        np2.add (scrollbar);                      // Terza colonna
    
        np.add (np2);                             // Aggiungo questo panel, nella terza riga
    
        add ("North",np);                         // Aggiungo la griglia di tre righe a nord dell'applet
    
        list = new List (4,false);
        list.addItem("uno");
        list.addItem("due");
        list.addItem("tre");
        list.addItem("quattro");
        list.addItem("cinque");
        list.addItem("sei");
        add ("East",list);                        // Aggiungo la lista a est (destra) nell'applet
            
        textArea = new TextArea(4, 50);
        textArea.setEditable(false);
        add ("West", textArea);                   // Aggiungo l'area di testo a ovest (sinistra) nell'applet
    
        Panel sp = new Panel ();                  // Un ultimo pannello
        sp.setLayout  (new FlowLayout ());        // Che mette i compoinenti uno in fianco all'altro
        bottone = new Button ("Bottone");
        sp.add (bottone);                         // Aggiungo il bottone al pannello - 
                                                  //avra' la sua dimensione naturale
            
        add ("South",sp);                         // Metto il pannello con il bottone a sud dell'applet
      }
    
    
      // Gestione ScrollBar
      public boolean handleEvent(Event evt) {
        switch (evt.id) {             // Per ogni movimento della scroll bar
          case Event.SCROLL_LINE_UP:
          case Event.SCROLL_LINE_DOWN:
          case Event.SCROLL_PAGE_UP:
          case Event.SCROLL_PAGE_DOWN:
          case Event.SCROLL_ABSOLUTE:
            textArea.appendText ("Scroll Bar a " +            // Aggiungo un messaggio nell'area di testo
              String.valueOf (scrollbar.getValue ()) + "\n");
            break;
        }
        return super.handleEvent(evt); // Faccio comunque gestire gli eventi all'handler di Applet (la superclasse)
      }
    
      // Gestione di tutti i bottoni (normali, check e radio)
      public boolean action(Event event, Object arg) {
        if (event.target == bottone) {
          textArea.setText ("");                  // Il bottone cancella il testo nell'area
        } else if (event.target == checkbox) {
          textArea.appendText ("Checkbox e' " + ((checkbox.getState()) ? "On" : 
            "off") + "\n");                       // Indico nella textarea lo stato cel check box
        } else if (event.target == check1) {
          if (check1.getState()) {
            textArea.appendText ("Seleziono Scelta1\n");
          }
        } else if (event.target == check2) {
          if (check2.getState()) {
            textArea.appendText ("Seleziono Scelta2\n");
          }
        } else if (event.target == choice) {
          textArea.appendText ("Si e' scelto '" + choice.getSelectedItem() + "'\n");
        } else if (event.target == list) {
          textArea.appendText ("Si e' scelto '" + list.getSelectedItem() + 
            "' dalla lista\n");
        } else if (event.target == field) {
          textArea.appendText ("'" + field.getText () + "'\n");
        }
        return true;
      }
    }
    

© Ing. Stefano Salvi - All rights reserved