F ondamenti di Informatica C Lezione 5

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