Grafica swing in Java

Похожие документы
Java GUI. Swing Java

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

L interfaccia grafica in Java

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

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

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

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

Programmazione Java: Interfacce grafiche (GUI)

L interfaccia grafica con Java

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

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

Sviluppo di Interfacce Grafiche in Java

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

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

BorderLayout. 1 Gestori di Layout (guida visuale)

APPLICAZIONI & APPLET

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

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

TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet

Introduzione al package grafico Swing

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

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

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

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

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

Programmazione in rete e laboratorio

Progettazione e Sviluppo di Interfacce Grafiche con Java Swing

ESERCITAZIONI SU Java

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

Alessandro De Luca. Lezione, 13 maggio 2015

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE

Programmazione Orientata agli Oggetti in Linguaggio Java

23 - Graphical User Interface GUI (Cenni)

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

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

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

COGNOME.NOME. Matricola

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

Algoritmi di Ricerca. Esempi di programmi Java

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

Interazioni col mondo: eventi

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

PROGRAMMAZIONE GRAFICA

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

Laoratorio di sistemi Estrazione di una carta senza ripetizione Java [NetBeans]

Laboratorio di Programmazione 1 [Java]

Proprietà delle Classi e degli Oggetti in Java

Principi di base della programmazione di interfacce grafiche in Java

Corso sul linguaggio Java

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

18 - Classi parzialmente definite: Classi Astratte e Interfacce

CLASSI ASTRATTE - ESERCIZIO

Gestione di eventi ed interfacce utente grafiche

Definizione di classi

Esecuzioni client-side: le Applet

La tua prima app su Android

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

Fondamenti di Informatica I

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Modulo 2: Strutture fondamentali della programmazione Java

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

Grafico della parabola

Applets. Java. Restrizioni delle applets. Restrizioni delle applets

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

JAVA Interfacce grafiche per Applicazioni ed Applet

InDesign CS5: gestire i documenti

Rilevazione di dati in una stazione meteorologica

Prova d Esame Compito A

Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali

Programmazione in Java e gestione della grafica. Lezione 19

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

Thread e Concorrenza in Java Swing

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Esercizio 1: archivio CD e DVD

Guida introduttiva. Ricerca Si possono eseguire ricerche in una cartella, in sottocartelle e anche in altre cassette postali.

CORSO DI PROGRAMMAZIONE

Manuale d utilizzo. Indice:

Транскрипт:

Grafica swing in Java

JFrame Costruttori public JFrame() Crea un nuovo Frame inizialmente invisibile public JFrame(Stringtitle) Crea un nuovo frame, inizialmente invisibile, con un testo specificato. Metodi public void setvisible(booleanb) Mostra o nasconde un Frame in base al valore del parametro b 2

JFrame -metodi public void setsize(intwidth, intheight) Imposta la dimensione della finestra public void settitle(stringtitle) Imposta il titolo della finestra public void setlocation(intx, inty) Sposta la finestra nella posizione x,y specificata (relativa all angolo in alto a sinistra della finestra) public void setdefaultcloseoperation(intoperation) Imposta l operazione che viene eseguita quando si chiude la finestra. JFrame.DO_NOTHING_ON_CLOSE JFrame.HIDE_ON_CLOSE JFrame.DISPOSE_ON_CLOSE JFrame.EXIT_ON_CLOSE. 3

Esercizio 1 Scrivere la seguente porzione di codice per la creazione di un Frame java import javax.swing.*; import java.awt.*; public class Finestra extends JFrame{ public static void main(string[] args) { JFramef = newjframe(); f.setsize(800, 600); f.settitle("la mia finestra verso il mondo"); f.setvisible(true); f.setdefaultcloseoperation(jframe.exit_on_close); } } Scrivere la classe Finestra, compilare ed eseguire

import java.awt.*; Color -java.awt.color Costruttori public Color(intr, intg, intb) Crea un colore RGB opaco nel range(0-255). public Color(intr, intg, intb, inta) Crea un colore RGB nel range(0-255) con l aggiunta della trasparenza (canale Alpha). Alcuni colori già pronti, come campi statici di Color Color.BLACK,Color.BLUE,Color.CYAN, Color.DARK_GRAY, Color. GRAY, Color.GREEN, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE,Color.PINK, Color.RED, Color.WHITE, Color.YELLOW 5

Uso dei colori predefiniti Esempio: Color c=color.red Esempi con i colori Per creare colori personalizzati Uso del costruttore Color c=new Color(int R,int G,int B); Esempio Color c=new Color(0,0,128);//blu scuro

Il pannello di sfondo del Jframe Container c Da Jframe public ContainergetContentPane() Ritorna il contentpane per il Frame. public void setcontentpane(containercontentpane) Imposta il contentpane del Frame.

Alcuni metodi del Container void setbackground(color c) Sets the background color of this component. Esempio: Container c c.setbackground(color.red);

Esercizio 2 Cambiare il colore dello sfondo del ContentPane Sfondo di colore grigio chiaro. JFramef = newjframe(); f.setsize(800, 600); f.settitle("la mia finetra verso il mondo"); Container c = f.getcontentpane(); c.setbackground(color.light_gray);

Componenti e Container Alcuni metodi di Container per aggiungere componenti grafici Component add(component comp) Appends the specified component to the end of this container. void add(component comp, Object constraints) Adds the specified component to the end of this container. Cosa è un Component? DallaclasseComponent derivanomoltioggettijava come bottoni, pannelli, checkbox etc Ne vedremo alcuni utilizzi

JPanel Alcuni Component JTextField JLabel JCheckBox JButton JFrame JComboBox ContentPane 11

JPanel -javax.swing.jpanel La classe JPanelimplementa un contenitore senza cornice che si usa per contenere altri componenti 12

Costruttore public JPanel() JPanel Crea un panelvuoto con flow layout. Metodi public void setbackground(colorbg) Imposta il colore di sfondo. Il colore è usato solo se il componente è opaco. public void setopaque(booleanb) Se true lo sfondo del componente (background) viene disegnato 13

JPanel -metodi public Componentadd(Componentcomp) Aggiunge un componente (Componentdi Swing) al pannello e viene posizionato in base al Layout Manager public void add(component comp, Object constraints) Come il metodo precedente, ma permette di specificare alcuni vincoli di alcuni LayoutManager- overloading public void setpreferredsize(dimensionpreferredsize) Imposta la dimensione preferita di un componente Ad un pannello posso aggiungere anche altri Pannelli Serve per organizzare meglio lo spazio 14

Esercizio 3 Aggiungere al contentpanelun pannello con sfondo rosso, posizionandolo a sud final Container c = f.getcontentpane(); c.setbackground(color.light_gray); JPanel pannellosud = new JPanel(); c.add(pannellosud, BorderLayout.SOUTH); pannellosud.setbackground(color.red);

Esercizio 4 Aggiungere al contentpanelun altro pannello, di colore blu, a sinistra JPanel pannellosud = new JPanel(); c.add(pannellosud, BorderLayout.SOUTH); pannellosud.setbackground(color.red); JPanel pannellosinistra = new JPanel(); c.add(pannellosinistra, BorderLayout.WEST); pannellosinistra.setbackground(color.blue);

Osservazione Il codice per inserire un pannello a sinistra e quello per inserirlo in basso sono molto simili Come possiamo fare per evitare di riscrivere tante volte lo stesso codice?

Esercizio 5/1 Aggiungo un metodo per aggiungere un generico pannello public static void aggiungipannello(container c, String posizione, Color coloresfondo) { } JPanel pannellosud = new JPanel(); c.add(pannellosud, posizione); pannellosud.setbackground(coloresfondo);

Esercizio 5/2 Modifico il maine uso il nuovo metodo creato public static void main(string[] args) { JFramef = newjframe(); f.setsize(800, 600); f.settitle("la mia finetra verso il mondo"); final Container c = f.getcontentpane(); c.setbackground(color.light_gray); /*JPanel pannellosud = new JPanel(); c.add(pannellosud, BorderLayout.SOUTH); pannellosud.setbackground(color.red); */ aggiungipannello(c, BorderLayout.SOUTH, Color.RED);

Esercizio 5/3 Modifico il maine uso il nuovo metodo creato continua dal main /*JPanel pannellosinistra = new JPanel(); c.add(pannellosinistra, BorderLayout.WEST); pannellosinistra.setbackground(color.blue);*/ aggiungipannello(c, BorderLayout.WEST, Color.BLUE); f.setvisible(true); f.setdefaultcloseoperation(jframe.exit_on_close); }

Esercizio per casa Ora aggiungete altri due pannelli a nord e a destra di colore arancione e verde