La nostra finestra dovrebbe essere come mostra la figura: Diamo innanzitutto un occhiata alle componenti principali di input/output:

Documenti analoghi
I Layout Manager di java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni

La nostra interfaccia avrà l aspetto seguente:

L Abstract Windowing Toolkit. Le GUI in Java. Il Frame. Cenni sull ereditarietà. Gianpaolo Cugola - Sistemi Informativi in Rete

L interfaccia grafica con Java

Evento sulla modifica delle caselle di testo

Programmazione Java: Interfacce grafiche (GUI)

GUI e java swing. Elmenti della GUI. Eventi e listener contenitori componenti layout manager. caratteristiche speciali

L interfaccia grafica in Java

Le basi della grafica in Java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni

Paradigmi di programmazione (sperimentazioni)

Alessandro De Luca. Lezione, 13 maggio 2015

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

Programmazione in rete e laboratorio

Eventi di azione. // con interfaccia per eventi di azione

Interazioni col mondo: eventi

Sviluppo di Interfacce Grafiche in Java

Gestione di eventi ed interfacce utente grafiche

Corso sul linguaggio Java

24 - Possibili approfondimenti

Java GUI. Swing Java

Swing. Swing 1. Java e la grafica Java permette di realizzare agevolmente applicazioni grafiche Package java.awt

Interfacce grafiche. Una GUI (Graphic User Interface) contiene vari componenti: bottoni, etichette, immagini...

Classi astratte. Master in Web Technology e Security luglio - settembre Interfacce

Graphic User Interface (GUI) Model / View / Controller. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A.

Corso Eclipse. Prerequisiti. 3 Window Builder

Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Polistena (RC)

Grafica swing in Java

Esercitazione del Corso di Informatica Grafica. Strumenti per scrivere applicazioni in JAVA

Marco Faella Elementi di programmazione di interfacce Grafiche. Il pattern OBSERVER.

ESERCITAZIONI SU Java

JAVA Interfacce grafiche per Applicazioni ed Applet

Android lezione 9 Le listview

Principi di base della programmazione di interfacce grafiche in Java

Esercizi. Esercizio P9.16. File ExP9_16.java. Anno Accademico 2003/04. Docente modulo 2: Barbara Masucci

Programmazione in Java e gestione della grafica. Lezione 19

L applicazione di MVC alla simulazione di ascensore I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

Corso sul linguaggio Java

Programmazione ad Eventi

BorderLayout. 1 Gestori di Layout (guida visuale)

APPLICAZIONI & APPLET

Progettazione e Sviluppo di Interfacce Grafiche con Java Swing

Libri di testo, libri della biblioteca, dispense, appunti, attrezzature di laboratorio

Introduzione al package grafico Swing

maggio 2004 Stefano Sanna - gerda@crs4.it

Application VS Applet

23 - Graphical User Interface GUI (Cenni)

Il foglio elettronico. Excel PARTE

Programmazione Orientata agli Oggetti in Linguaggio Java

ListView. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Tutorial SWING-AWT: Il Layout Manager GridBagLayout Di Michele de Nittis

Interfacce. Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato

GUI e java swing. Templates per GUI degli IDE. Gli IDE forniscono Template per generare interfacce grafiche.

Esercitazione sui Design Pattern. lunedì 29 aprile 13

TUTORIAL LIBRI IN SIMBOLI

Raffaella Brighi, a.a. 2005/06. Eventi e listener. Corso di Laboratorio II. A.A

Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi

ProgettAzione tecnologie in movimento - V anno Unità 4 - Applicazioni per i sistemi mobili

Gestione degli eventi in Java

Grafico della parabola

I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile

LE TABELLE. Le liste permettono di avere una sequenza di righe In alcune applicazioni è però necessario visualizzare le informazioni anche in colonne

component - container - layout

18 - Classi parzialmente definite: Classi Astratte e Interfacce

Manuale d utilizzo. Indice:

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI

Esercitazione. Excel: le macro. C.1 Registrazione di macro

Java Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA

Chiamata delle funzioni JavaScript da un applet

Introduzione (Swing vs AWT)

Programmazione web lato client con JavaScript. Marco Camurri 1

Calcolare con il computer: Excel. Saro Alioto 1

Java Interfaccia Grafica

Thread e Concorrenza in Java Swing

Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali

Programmazione Java (Applicazioni e Applet )

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

Sviluppo di Interfacce Grafiche in Java. Concetti di Base ed Esempi.

APPLICAZIONI & APPLET

Threads e Concorrenza in Java Swing

D B M G Il linguaggio HTML

@2011 Politecnico di Torino 1

Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Creare una tabella di pivot

Microsoft Outlook Di Nunziante Esposito. `*************` Quinta parte: Come gestire la rubrica (contatti). `***********`

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Moduli Bluetooth 03 - connessione seriale via BT

Finestra.java. static String nomicolonne[] = {"ind.","cognome","nome","telefono"," "}; //nomi delle colonne della tabella

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

VISUALIZZAZIONE IMPIANTI SU MAPPE

ISCRIZIONI. Impostazioni form ECDL

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD

Linguaggi Regolari e Linguaggi Liberi

Oggetti e classi. Cos è un oggetto

Rappresentazione dell Informazione

Transcript:

Esercitazione N4: Costruzione di una applicazione GUI utilizzando i componenti di base per realizzare l input e l output e cioè Label, TextBox, TextArea Button e Panel (Pannelli) I componenti che utilizzeromo saranno quindi: Una JTextField che accetterà l input dall utente. Una JTextArea che visualizzerà l output del programma. Un JButton che permette all utente di attivare un evento per il saluto. Una JLabel che serve come testo di commento per la JTextField. Un Panel per raggruppare componenti La nostra finestra dovrebbe essere come mostra la figura: Diamo innanzitutto un occhiata alle componenti principali di input/output: Laboratorio di Informatica Prof. Accarino Pagina 1

Ora per costruire un oggetto partendo dalle componenti sopraelencate basta ovviamente usare i costruttori delle classi corrispondenti agli oggetti desiderati. Il codice seguente mostra come fare per i nostri 4 oggetti: Public metodi e costruttori per le componenti di base: Ora che sappiamo come costruire le nostre componenti di base dovremmo aggiungerle alla nostra finestra JFrame. Ma invece di aggiungerli direttamente ad essa noi la aggiungeremo ad un Content Pane che a sua volta sarà aggiunto alla finestra. Perché in java non si possono aggiungere direttamente componenti a un Jframe ma bisogna passare attraverso un pannello di contenuto del JFrame. La classe conteiner di java a diversi metodi per aggiungere dei componenti ad esso. I più importanti sono: Laboratorio di Informatica Prof. Accarino Pagina 2

Il metodo add in particolare che andremo ad utilizzare dipenderà da dove vogliamo andare a disporre le componenti sul conteiner. Il Layout del conteiner dipende dal suo default layout manager. Un oggetto associato con il conteiner che determina le dimensioni e le posizioni dei component sul conteiner. Per un ContentPane il layot di default è un BorderLayout con questo layout le componenti possono essere disposte al centro del cointener o lungo i bordi utilizzando le coordinate North South East West. La figura seguente ne mostra le coratteristiche: Per aggiungere componenti ad un BordeLayout si usa il metodo: add(region,component) dove region specifica una delle aree mostrate in figura e component può essere un componente qualsiasi. Esempio: oppure in colpo solo Il problema di questo layout è che noi possiamo aggiungere solo un componente per ogni area per cui non possiamo avere nella zona North le due componenti Label e TextField che rappresentano il prompt per l utente e la casella di testo per fargli inserire il nome. Per sopperire a questa limitazione si utilizzano i pannelli (JPanel) con i quali il metodo di costruzione è rappresentato dalle operazioni seguenti: si costruisce un pannello si aggiungono componenti al pannello si aggiunge l intero pannello al conteiner Laboratorio di Informatica Prof. Accarino Pagina 3

Il Layout di default per un JPanel è il FlowLayout in pratica le componenti vengono aggiunte una di seguito all altra. Va benissimo per la nostra applicazione. La seguente figura illustra graficamente il concetto di costruzione dell aspetto della finestra: Il codice seguente svolge le azioni precedentemente descritte e dovrebbe essere abbastanza semplice interpretarlo. Ora che sappiamo come aggiungere componenti ad una finestra vediamo come possiamo gestirne il funzionamento. Come abbiamo già visto in un ambiente GUI si utilizza una programmazione guidata dagli eventi. Quindi creiamo l oggetto ActionListener da aggiungere al bottone Quando un utente pigia un bottone java crea un oggetto ActionEvent contenente svariate informazioni sull evento accaduto come il nome del componente, il tempo la posizione ecc. Per la nostra applicazione quindi quando l utente fa click sul bottone btnsaluto l applicazione deve copiare il contenuto della casella di input aggiungerci un saluto e visualizzarlo nella TextArea. Il tutto potrebbe essere effettuato con il frammento di codice seguente: String name = txfnome.gettext(); txadisplay.append("ciao " + name+" è un vero piacere conoscerti\n"); La domanda è dove scrivere questo codice e quando richiamarlo? La risposta è abbastanza semplice questo codice deve essere inserito in un metodo speciale che viene richiamato direttamente da java nel momento in cui accade un determinato evento. In pratica questo metodo noi lo conosciamo già è il famoso metodo actionperformed dell interfaccia ActionListener che noi dobbiamo implementare per gestire l evento click sul bottone. public abstract interface ActionListener extends EventListener { public abstract void actionperformed(actionevent e); } Laboratorio di Informatica Prof. Accarino Pagina 4

Quindi per il nostro listener andremo ad implementare il metodo actionperformed come segue: public void actionperformed(actionevent e) { String name = txfnome.gettext(); txadisplay.append("ciao " + name+" è un vero piacere conoscerti\n"); } e poi aggiungere al bottone un listener con il solito metodo addactionlistener: btnsaluto = new JButton("Clicca qui per un saluto!"); btnsaluto.addactionlistener(new btnsaluto_click()); In questo esercizio implementiamo la classe ascoltatore direttamente come classe interna alla classe finestra, per semplificare l accesso alle componenti della finestra stessa e come ulteriore esempio di come gestire gli eventi: Laboratorio di Informatica Prof. Accarino Pagina 5