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; } }