Fondamenti di Informatica CRiccardo Cassinis Fondamenti di Informatica C Lezione 5: La prima GUI Semplicissimo: Apre JBuilder class Helloapplic { public static void main (String args[]) { System.out.println("Buonanotte al secchio"); } } Lezione 5: La prima GUI Lezione 5: La prima GUI 10/21/02 10:31 3 In questa lezione vedremo: 10/21/02 10:31 ÎIl nostro sistema di sviluppo Java (JBuilder) ÎLa costruzione di una semplice GUI, composta da diversi oggetti ÎCome questi oggetti vengono dichiarati, inizializzati e disegnati ÎCome questi oggetti vengono resi attivi Lezione 5: La prima GUI Proviamo con una applet Torna a JBuilder 10/21/02 10:31 public class Helloapplet extends java.applet.Applet { public void paint(java.awt.Graphics g) { g.drawString("Hello, world!", 120 , 25); } } Lezione 5: La prima GUI 10/21/02 10:31 2 4 1 Fondamenti di Informatica CRiccardo Cassinis 10/21/02 10:31 10/21/02 10:31 E adesso proviamo a costruire una GUI Prima diamole un’occhiata… ÎGUI: Graphical User Interface ÎDotata di elementi grafici e testuali ÎAttivi ÎGestiti (per ora) con il metodo delle action Lezione 5: La prima GUI Importazioni e dichiarazioni import java.awt.*; button; choice; textField; public class UIApplet extends java.applet.Applet { Button Choice TextField Lezione 5: La prima GUI Lezione 5: La prima GUI 5 7 Il commento iniziale (applet) (lang) (awt) (awt) (awt) (awt) (awt) (awt) (awt) /* --------------------------------------------------This applet creates a few different user interface components and detects when the user interacted with them. Java's classes: Applet System Button Choice TextField Checkbox CheckboxGroup Label Event Lezione 5: La prima GUI 10/21/02 10:31 8 6 10/21/02 10:31 10/21/02 10:31 Custom classes: UIApplet ------------------------------------------------------ */ Creazione dell’interfaccia 1 checkbox; checkboxGroup; label; /** Create a user interface. */ public void init() { Checkbox CheckboxGroup Label // create a choice list choice = new Choice(); choice.addItem("Apple"); choice.addItem("Banana"); choice.addItem("Cherry"); add(choice); Lezione 5: La prima GUI 2 Fondamenti di Informatica CRiccardo Cassinis Creazione dell’interfaccia 2 10/21/02 10:31 // create a text field textField = new TextField(10); // 10 columns wide add(textField); // create a button button = new Button("Click me"); add(button); // create a label label = new Label("I am a label"); add(label); Lezione 5: La prima GUI Per poterla provare… 10/21/02 10:31 <applet codebase="UIAppletClasses" code="UIApplet.class" width=256 height=77> </applet> Lezione 5: La prima GUI Lezione 5: La prima GUI 9 11 10/21/02 10:31 checkbox = new Checkbox("Yes", checkboxGroup, false); add(checkbox); checkbox = new Checkbox("No", checkboxGroup, false); add(checkbox); checkbox = new Checkbox("Maybe", checkboxGroup, true); add(checkbox); // create 3 exlusive-choice checkboxes checkboxGroup = new CheckboxGroup(); Creazione dell’interfaccia 3 } Lezione 5: La prima GUI La gestione degli eventi 1 /** Respond to user input events. */ public boolean action(Event e, Object arg) { if (e.target == textField) System.out.println("User entered text into the text field"); else if (e.target == button) System.out.println("User clicked the button"); 10/21/02 10:31 else if (e.target == choice) System.out.println("User selected a new choice"); Lezione 5: La prima GUI 10/21/02 10:31 10 12 3 Fondamenti di Informatica CRiccardo Cassinis } System.out.println(arg); return super.action(e, arg); 10/21/02 10:31 E ora proviamo con un browser! else System.out.println("Unrecognized event"); else if (e.target instanceof Checkbox) System.out.println("User clicked a check box"); La gestione degli eventi 2 } Lezione 5: La prima GUI Lezione 5: La prima GUI 13 10/21/02 10:31 4