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

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

Programmazione Java: Interfacce grafiche (GUI)

L interfaccia grafica con Java

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

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

BorderLayout. 1 Gestori di Layout (guida visuale)

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

Grafica swing in Java

Sviluppo di Interfacce Grafiche in Java

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

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

Alessandro De Luca. Lezione, 13 maggio 2015

Introduzione al package grafico Swing

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

L interfaccia grafica in Java

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

Java GUI. Swing Java

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

ESERCITAZIONI SU Java

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

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

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

Programmazione in rete e laboratorio

Paradigmi di programmazione (sperimentazioni)

Programmazione Orientata agli Oggetti in Linguaggio Java

Progettazione e Sviluppo di Interfacce Grafiche con Java Swing

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

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

Principi di base della programmazione di interfacce grafiche in Java

Gestione di eventi ed interfacce utente grafiche

Evento sulla modifica delle caselle di testo

APPLICAZIONI & APPLET

Swing e la programmazione a eventi

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

maggio 2004 Stefano Sanna - gerda@crs4.it

COGNOME.NOME. Matricola

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM

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

APPLICAZIONI & APPLET

TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet

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

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE

AWT: Abstract Window Toolkit

PROGRAMMAZIONE GRAFICA

23 - Graphical User Interface GUI (Cenni)

GridBagLayout. Elementi. La griglia ideale. GridBagConstraints in pratica, prima parte. Gli elementi necessari all'uso di GridBagLayout sono:

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

Application VS Applet

Corso Eclipse. Prerequisiti. 3 Window Builder

Introduzione (Swing vs AWT)

Le Applet Java. Le Applet

Programmazione Java (Applicazioni e Applet )

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

Sistemi Mobili e Wireless Android Interfacce utente: Widget e Layout (2)

Grafico della parabola

JAVA Interfacce grafiche per Applicazioni ed Applet

Progettazione multimediale

Applet. Applet: il termine identifica piccole applicazioni da eseguirsi all interno di un browser.

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

Java: la libreria delle classi

Thread e Concorrenza in Java Swing

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

Threads e Concorrenza in Java Swing

Prova d Esame Compito A

Ereditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

La nostra interfaccia avrà l aspetto seguente:

Interazioni col mondo: eventi

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

Programmazione ad Eventi

8. GUI : Graphics User Interface

Esempio: si vuole creare e aprire una finestra sul desktop. La finestra è un oggetto istanza di

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Laboratorio di Programmazione 1 [Java]

Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy.

Programmazione in Java e gestione della grafica. Lezione 19

Esercizio 1: Gara di MotoGP

Corso sul linguaggio Java

Corso sul linguaggio Java

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

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

component - container - layout

Prova d Esame Compito B

Progetto di Applicazioni Software

Oggetti Composti (1) Oggetti Composti (2)

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione orientata agli oggetti Classi, package e file system. Package

I costruttori. Il costruttore standard. Esempio di valori di default. Alterare il costruttore standard

Graphical User Interfaces in Java

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

Oggetti e classi. Cos è un oggetto

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

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

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

Fondamenti di Informatica T-1. Classi e metodi astratti

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

3.6.1 Inserimento. Si apre la finestra di dialogo Inserisci Tabella:

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

Introduzione alla Programmazione in Java attraverso un esempio commentato

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo

Uso di metodi statici. Walter Didimo

Transcript:

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

Creazione di interfacce complesse con i layout manager La posizione di un componente aggiunto a un container dipende essenzialmente: dall oggetto che è associato al container, detto layout manager. In ogni container infatti, esiste un layout manager associato di default. Un layout manager è un istanza di una classe che implementa l interfaccia LayoutManager. 2

layout manager Le applicazioni grafiche si basano sempre su di un top level container, ovvero un container di primo livello. Infatti, avete mai visto un applicazione dove ci sono dei bottoni, ma non c è una finestra che li contiene? Questo significa che in ogni applicazione Java con interfaccia grafica, è necessario quantomeno istanziare un top level container, di solito un Frame. Un caso speciale è rappresentato dalle applet, 3

layout manager Esistono decine di implementazioni di LayoutManager, ma tutto sommato le più importanti sono solo cinque: FlowLayout BorderLayout GridLayout CardLayout GridBagLayout 4

layout manager tutte le sottoclassi di Window (quindi anche Frame), anno associato per default il BorderLayout, mentre tutta la gerarchia di Panel utilizza il FlowLayout per il posizionamento dei componenti. 5

layout manager In realtà è anche possibile non utilizzare layout manager per gestire interfacce grafiche. Tale tecnica però comprometterebbe la consistenza e la portabilità della GUI stessa. Per esempio si può annullare il layout di un container (ad esempio un Frame) con l istruzione setlayout(null) Poi si usano i metodi setlocation(), setbounds() e setsize() per gestire il posizionamento dei componenti. 6

Posizioni Assolute senza Layout 7

Il FlowLayout Il FlowLayout è il layout manager di default di Panel e JPanel. FlowLayout dispone i componenti aggiunti in un flusso ordinato che va da sinistra a destra con un allineamento centrato verso l alto. Per esempio il codice seguente (da inserire all interno di un metodo main()): 8

JFrame f = new JFrame("FlowLayout"); JPanel p = new JPanel(); JButton button1 = new JButton("Java"); JButton button2 = new JButton("Windows"); JButton button3 = new JButton("Motif"); p.add(button1); p.add(button2); p.add(button3); f.add(p); f.pack(); f.setvisible(true); 9

Effetti di ridimensionamento sulla finestra 10

FlowLayout pannello di default per Jpanel 11

Il BorderLayout Il BorderLayout è il layout manager di default per i Frame, il top level container pereccellenza. I componenti sono disposti solamente in cinque posizioni specifiche che si ridimensionano automaticamente: NORTH, SOUTH che si ridimensionano orizzontalmente EAST, WEST che si ridimensionano verticalmente CENTER che si ridimensiona orizzontalmente e verticalmente 12

Esempio import java.awt.*; import javax.swing.*; public class BorderExample { private JFrame f; private JButton b[]={new JButton("b1"),new JButton("b2"),new JButton("b3"), new JButton("b4"), new JButton("b5")}; public BorderExample() { f = new JFrame("Border Layout Example"); } public void setup() { f.add(b[0], BorderLayout.NORTH); f.add(b[1], BorderLayout.SOUTH); f.add(b[2], BorderLayout.WEST); f.add(b[3], BorderLayout.EAST); f.add(b[4], BorderLayout.CENTER); f.setsize(200,200); f.setvisible(true); } public static void main(string args[]) { new BorderExample().setup(); } } 13

Il GridLayout Il GridLayout dispone i componenti da sinistra verso destra e dall'alto verso il basso all interno di una griglia. Tutte le regioni della griglia hanno sempre la stessa dimensione (anche se vengono modificate le dimensioni del frame), e i componenti occuperanno tutto lo spazio possibile all interno delle varie regioni. Il costruttore del GridLayout permette di specificare righe e colonne della griglia. Come per ilborderlayout, i componenti occuperanno interamente le celle in cui vengono aggiunti. 14

Esempio import java.awt.*; import javax.swing.*; public class GridExample { private JFrame f; private JButton b[]={new JButton("b1"),new JButton("b2"),new JButton("b3"), new JButton("b4"), new JButton("b5"), new JButton("b6")}; public GridExample() { f = new JFrame("Grid Layout Example"); } public void setup() { f.setlayout(new GridLayout(3,2)); for (int i=0; i<6;++i) f.add(b[i]); f.setsize(200,200); f.setvisible(true); } public static void main(string args[]) { new GridExample().setup(); } } 15

Esempio di GridLayout 16

CardLayout Permette di condividere un area mostrando un pannello alla volta di quelli aggiunti ad esso La stessa cosa è ottenibile con pannelli a schede 17

GridBagLayout 18

Creazione di una Interfaccia grafica Costruiamo una prima applicazione GUI utilizzando i componenti di base per realizzare l input e l output e cioè una finestra nella quale l utente potrà inserire il suo nome in una TextBox e pigiando su un bottone si visualizzera in una TextArea un saluto generato dal programma. 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 il saluto. Una JLabel che serve come commento di prompt per la JTextField. 19

Creazione di una Interfaccia grafica La nostra finestra dovrebbe essere costruita come mostra la figura: 20

Creazione di una Interfaccia grafica Se utilizziamo Un borderlayout le operazioni da svolgere aranno: si determina un conteiner si costruisce un pannello si aggiungono componenti al pannello si aggiunge l intero pannello al conteiner 21

Creazione di una Interfaccia grafica 22