PROVA FINALE Ingegneria del software
|
|
|
- Orazio Pini
- 7 anni fa
- Visualizzazioni
Transcript
1 PROVA FINALE Ingegneria del software Ing. Jody Marca Laboratorio N 3
2 Cosa faremo oggi 2 Interfaccia grafica e SWING Lettura e scrittura di Files di properties Internazionalizzazione del codice
3 Swing 3 Swing è l evoluzione di AWT (Abstract Windowing Toolkit) e contrariamente a quest ultima non utilizza il SO per disegnare ma Java quindi è multipiattaforma Cambiamo prospettiva e ragioniamo ad eventi! Occorrenza dell evento A Occorrenza dell evento B Realtà Applicazione Osservatori Notifica dell evento A Notifica dell evento B Ascoltatore evento A Ascoltatore evento A listeners Ascoltatore evento B
4 Swing \2 4 Swing implementa il paradigma MVC (Model View Controller). Separate sempre i dati, visualizzazione e logica applicativa; rendeteli il più possibile indipendenti. Un interfaccia Swing ha tre elementi fondamentali: Contenitori Elementi grafici Eventi
5 Swing - Contenitori 5 Top level containers General purpose containers
6 Swing Contenitori \ 2 6 Special purpose containers
7 Swing - Elementi grafici 7 Elementi grafici di base
8 Swing - Elementi grafici \ 2 8 Elementi grafici non editabili Elementi grafici con contenuto formattato
9 Swing - Primo esempio 9 Primo esempio: JFrame + JLabel import java.awt.dimension; import javax.swing.*; public class SwingTest { private static void createandshowgui() { JFrame frame = new JFrame("Swing Test"); frame.setpreferredsize(new Dimension(300, 100)); frame.setdefaultcloseoperation(jframe.exit_on_close); JLabel label = new JLabel("Ciao sono una Swing JLabel"); frame.getcontentpane().add(label); frame.pack(); frame.setvisible(true); public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { createandshowgui(); );
10 Swing - Eventi 10 Ogni evento ha un proprio Listener (gestore), consultate i Javadocs vent/package-summary.htm
11 Swing - Layout 11 Esistono diversi tipi di Layout Manager: BorderLayout BoxLayout CardLayout FlowLayout GridBagLayout GridLayout GroupLayout SpringLayout Gli esempi li trovate al sito:
12 Swing - Secondo esempio 12 Secondo esempio: Eventi + Layout import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingTest2 extends JPanel implements ActionListener { private static final String NUMEROCL = "Numero di pressioni "; protected JButton bottone; protected JLabel textlabel; protected Integer numclick; public SwingTest2() { numclick = 0; textlabel = new JLabel(NUMEROCL + numclick); add(textlabel); bottone = new JButton("Cliccami o premi Alt"); bottone.setverticaltextposition(abstractbutton.center); bottone.sethorizontaltextposition(abstractbutton.center); bottone.setmnemonic(keyevent.vk_alt); bottone.addactionlistener(this); bottone.settooltiptext("clicca il bottone o premi Alt"); add(bottone);
13 Swing - Secondo esempio \ 2 13 public void actionperformed(actionevent e) { numclick++; textlabel.settext(numerocl + numclick); private static void createandshowgui() { JFrame frame = new JFrame("Swing Test 2"); frame.setpreferredsize(new Dimension(200, 100)); frame.setdefaultcloseoperation(jframe.exit_on_close); SwingTest2 contentpane = new SwingTest2(); contentpane.setopaque(true); contentpane.setlayout(new FlowLayout(FlowLayout.CENTER)); frame.setcontentpane(contentpane); frame.pack(); frame.setvisible(true); public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { createandshowgui(); );
14 Swing - Terzo esempio 14 Secondo esempio: Inner (o Nested) Class import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingTest3 extends JPanel { private static final String NUMEROCL1 = "Numero di perssioni bottone uno: "; private static final String NUMEROCL2 = "Numero di perssioni bottone due: "; protected JButton bottone1, bottone2; protected JLabel textlabel, textlabe2; protected Integer numclick1, numclick2; private static void createandshowgui() { JFrame frame = new JFrame("Swing Test 3"); frame.setpreferredsize(new Dimension(300, 200)); frame.setdefaultcloseoperation(jframe.exit_on_close); SwingTest3 contentpane = new SwingTest3(); contentpane.setopaque(true); contentpane.setlayout(new FlowLayout(FlowLayout.CENTER)); frame.setcontentpane(contentpane); frame.pack(); frame.setvisible(true);
15 Swing - Terzo esempio \ 2 15 public SwingTest3() { numclick1 = 0; textlabel = new JLabel(NUMEROCL1 + numclick1); add(textlabel); bottone1 = new JButton("Cliccami"); bottone1.setverticaltextposition(abstractbutton.center); bottone1.sethorizontaltextposition(abstractbutton.center); bottone1.addactionlistener(new Button1Listener()); bottone1.settooltiptext("clicca il bottone"); add(bottone1); numclick2 = 0; textlabe2 = new JLabel(NUMEROCL2 + numclick2); add(textlabe2); bottone2 = new JButton("Cliccami"); bottone2.setverticaltextposition(abstractbutton.center); bottone2.sethorizontaltextposition(abstractbutton.center); bottone2.addactionlistener(new Button2Listener()); bottone2.settooltiptext("clicca il bottone"); add(bottone2);
16 Swing - Terzo esempio \ 3 16 public static void main(string[] args) { javax.swing.swingutilities.invokelater(new Runnable() { public void run() { createandshowgui(); ); class Button1Listener implements ActionListener{ public void actionperformed(actionevent e) { numclick1++; textlabel.settext(numerocl1 + numclick1); class Button2Listener implements ActionListener{ public void actionperformed(actionevent e) { numclick2++; textlabe2.settext(numerocl2 + numclick2);
17 Swing - Esercizio 17 Creare un piccolo programma per giocare a Morra cinese Il programma presenterà all utente tre bottoni sasso, carta e forbici ed estrarrà la scelta del computer decretando la patta o la vittoria del computer o dell utente.
18 Files di Properties 18 I files di properties sono dei particolari file nella struttura chiave=valore utili a contenere dei parametri di configurazione La loro gestione avviene attraverso la classe java.util.properties che estende la classe Hashtable Esempio di file di properies (esempio.properties ) bottone.tooltip=clicca il bottone bottone.name=cliccami
19 Files di Properties - Esempio 19 public static void main(string[] args) throws Exception { //Creo l istanza della classe Properties Properties propertiesdiesempio = new Properties(); FileInputStream input = new FileInputStream("esempio.properties"); propertiesdiesempio.load(input); //Leggo le Properties input.close(); //Leggo il valore con chiave bottone.name String name = propertiesdiesempio.getproperty("bottone.name"); //Modifico il valore con chiave bottone.name propertiesdiesempio.setproperty("bottone.name", Clicca qui"); FileOutputStream out = new FileOutputStream("esempio.properties"); //Salvo le Properties aggiornate propertiesdiesempio.store(out, "--- Configurazioni SWING ---"); out.close();
20 Internazionalizzazione 20 L internazionalizzazione del codice si basa sull estenalizzazione delle stringhe in speciali files di properties chiamati ResourceBundle La particolarità di questi file è quella di essere tipizzati da un suffisso che rappresenta il Locale (lingua + paese) del contenuto del file Il software leggerà il ResourceBundle in base al Locale in uso e utilizzerà le stringhe in esso contenute
21 ResourceBundle 21 È sempre necessario definire un default ResourceBundle. myappi18n.properties stringa.saluta=ciao stringa.comeva=come va? stringa.tuonome=come ti chiami? Definiamo inoltre un ResourceBundle per ogni lingua che si vuole gestire (esempio inglese USA) myappi18n_en_us.properties stringa.saluta=hi stringa.comeva=how are you?
22 Esempio - ResourceBundle 22 public static void main(string[] args) { //Setto il locale a italiano (_it) Locale locale = Locale.ITALIAN; //Leggo il ResourceBundle ResourceBundle mess = ResourceBundle.getBundle("i18n.myAppI18N",locale); System.out.println(mess.getString("stringa.saluta")); System.out.println(mess.getString("stringa.comeva")); System.out.println(mess.getString("stringa.tuonome")); //Setto il locale a inglese USA (_en_us) locale = new Locale("en", "US"); messages = ResourceBundle.getBundle("i18n.myAppI18N",locale); System.out.println(mess.getString("stringa.saluta")); System.out.println(mess.getString("stringa.comeva")); System.out.println(mess.getString("stringa.tuonome"));
Alessandro De Luca. Lezione, 13 maggio 2015
Basi Basi di di dati dati ee sistemi sistemi informativi informativi II mod.laboratorio mod.laboratorio Alessandro De Luca Università degli Studi di Napoli Federico II Lezione, Introduzione a Java Swing
Programmazione Java: Interfacce grafiche (GUI)
Programmazione Java: Interfacce grafiche (GUI) [email protected] http://www.di.univaq.it/romina.eramo/tlp ( 1 ) (GUI) Interfacce grafiche Rendere facili le cose semplici e possibili le cose difficili
L interfaccia grafica in Java
L interfaccia grafica in Java Java possiede due package per la creazione di interfacce grafiche java.awt javax.swing AWT (Abstract Widget Toolkit) presente già in Java 1.0, migliorato in Java 1.1. Invariato
L Abstract Windowing Toolkit. Le GUI in Java. Il Frame. Cenni sull ereditarietà. Gianpaolo Cugola - Sistemi Informativi in Rete
Le GUI in Java L Abstract Windowing Toolkit Fino ad ora abbiamo usato le classi del pacchetto JavaBook per realizzare semplici interfacce grafiche (GUI) Si tratta di classi facili da usare...... ma che
I Layout Manager di java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni
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
Programmazione in rete e laboratorio
Programmazione in rete e laboratorio 2001-02 JAVA Alberto Martelli PROGRAMMAZIONE GRAFICA Molti programmi interagiscono con l utente attraverso una interfaccia grafica GUI - Graphical User Interface Java
La nostra finestra dovrebbe essere come mostra la figura: Diamo innanzitutto un occhiata alle componenti principali di input/output:
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
Classi astratte. Master in Web Technology e Security luglio - settembre 2000. Interfacce
Master in Web Technology e Security luglio - settembre 2000 JAVA Alberto Martelli Parte III Programmazione grafica Classi astratte Vogliamo implementare un algoritmo di ordinamento di un array che sia
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Ingegneria del software A Interfacce grafiche (in Java) Michele Tomaiuolo Interfacce grafiche
Eventi di azione. // con interfaccia per eventi di azione
Eventi di azione (Interfaces ActionListener, Classes ActionEvent) Sono generati quando si premono bottoni, si selezionano voci di menù, si preme invio mentre si scrive in un campo di testo. In awt sono
Programmazione ad Oggetti. JFrame è la classe di base per le finestre Fornisce tutte le caratteristiche di una finestra vuota
Programmazione ad Oggetti Interfacce grafiche V 1.2 Marco Torchiano 2005 JFrame JFrame è la classe di base per le finestre Fornisce tutte le caratteristiche di una finestra vuota Barra del titolo Pulsanti
Interfacce grafiche. Una GUI (Graphic User Interface) contiene vari componenti: bottoni, etichette, immagini...
Interfacce grafiche Una GUI (Graphic User Interface) contiene vari componenti: bottoni, etichette, immagini... Alcuni componenti ne contengono altri (ad esempio le finestre), e sono detti contenitori.
L interfaccia grafica con Java
L interfaccia grafica con Java 1/24 L interfaccia utente serve per la comunicazione tra utente e programma Distinguiamo le interfacce tra quelle a caratteri e quelle grafiche Le GUI (Graphical user interface)
Le basi della grafica in Java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni
Le basi della grafica in Java Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni Elaborazione classica o imperativa L elaborazione è concentrata nel momento centrale, durante
Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Polistena (RC)
In questa lezione introduciamo alcuni strumenti che Java rende disponibili per la creazione di interfacce utente a manipolazione diretta, dette anche WYSISYG (what you see is what you get), con un elevato
Introduzione al package grafico Swing
Introduzione al package grafico Swing Architettura di javax.swing Java supporta direttamente nella propria architettura il concetto di applicazione grafica, tramite il package javax.swing, in cui i componenti
Riassunto. GUI in Java con l AWT 1. Cos è una GUI. Oggi: GUI in Java, l AWT. GUI in Java. Un esempio. Stefano Mizzaro 1
Riassunto GUI in Java con l AWT 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro [email protected] Programmazione, lezione 23 15 febbraio
Esercitazione n 6. Capacità di analisi e di estensione di progetti Componenti grafici e gestione di eventi Linguaggio Java:
Esercitazione n 6 Capacità di analisi e di estensione di progetti Componenti grafici e gestione di eventi Linguaggio Java: il package javax.swing (JFrame, JPanel, JButton, ) java.util.eventobject e sue
Marco Faella Elementi di programmazione di interfacce Grafiche. Il pattern OBSERVER.
Marco Faella Elementi di programmazione di interfacce Grafiche. Il pattern OBSERVER. 9 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente:
Principi di base della programmazione di interfacce grafiche in Java
Principi di base della programmazione di interfacce grafiche in Java Riccardo Silvestri 4 giugno 2010 Introduzione L'interfaccia grafica (Graphical User Interface, in breve GUI) facilita l'interazione
Sviluppo di Interfacce Grafiche in Java
Sviluppo di Interfacce Grafiche in Java Massimiliano de Leoni (con la supervisione del docente Massimo Mecella) Università di Roma La Sapienza - Sede di Latina Corso di Progettazione del Software A.A.
Riassunto. GUI in Java con l AWT 1. Oggi: GUI in Java, l AWT. Oggi. GUI in Java. Cos è una GUI. Stefano Mizzaro 1
Riassunto GUI in Java con l AWT 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ [email protected] Programmazione, lezione 20 20 novembre
INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE
INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE La Gestione degli Eventi Ogni oggetto grafico è predisposto ad essere sollecitato in qualche modo dall utente (per esempio un pulsante può essere premuto).
Gestione di eventi ed interfacce utente grafiche
Gestione di eventi ed interfacce utente grafiche Eventi Ogni volta che l utente esegue un azione un clic del mouse la pressione di un tasto sulla tastiera la modifica di una finestra la selezione di un
In alcune applicazioni è necessario mostrare le informazioni in formato tabellare. Mario Bianchi Via Roma, /
JTable In alcune applicazioni è necessario mostrare le informazioni in formato tabellare Nome Cognome Indirizzo Telefono Mario Bianchi Via Roma, 12 059/1111111 Franco Rossi Via Milano, 33 059/2222222 119
INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE
INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE INTRODUZIONE L interfaccia grafica del programma è composta dai cosiddetti componenti GUI (Graphics User Interface); essi sono dei componenti che servono
Programmazione ad Eventi
Programmazione ad Eventi Eventi, Sorgenti, e Listeners Una interfaccia utente deve gestire una moltitudine di eventi eventi da tastiera, del mouse, click su pulsanti, Opportuno poter discriminare diversi
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Componenti versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Esercitazione del Corso di Informatica Grafica. Strumenti per scrivere applicazioni in JAVA
Esercitazione del Corso di Informatica Grafica Strumenti per scrivere applicazioni in JAVA Perché Java Indipendenza dalla piattaforma Un applicazione scritta in Java può essere facilmente spostato da un
Interazioni col mondo: eventi
Interazioni col mondo: eventi Le interazioni di una GUI con il mondo esterno sono segnalate tramite eventi: click del mouse, inserimento di testo, selezione/attivazione... Gli eventi che memorizzano queste
Programmazione ad Eventi
Programmazione ad Eventi Eventi, Sorgenti, e Listeners Una interfaccia utente deve gestire una moltitudine di eventi eventi da tastiera, del mouse, click su pulsanti, Opportuno poter discriminare diversi
GUI e java swing. Elmenti della GUI. Eventi e listener contenitori componenti layout manager. caratteristiche speciali
GUI e java swing Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2005-06 CdL Operatore Informatico Giuridico. Elmenti della GUI Eventi e listener contenitori componenti layout manager caratteristiche
Concorrenza e sincronizzazione
Concorrenza e sincronizzazione Ingegneria del software Ing. Jody Marca [email protected] Cosa faremo oggi 2 Concorrenza Sincronizzazione Concorrenza 3 Nei programmi Java fino ad ora sviluppati è presente
Java Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu [email protected] Java Applet 1 Application VS Applet Una
I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile
I Canvas Tra i vari contenitori Java il Canvas (area di disegno o tela) è una semplice superficie di disegno particolarmente utile per visualizzare immagini o per effettuare altre operazioni grafiche.
L applicazione di MVC alla simulazione di ascensore I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1
I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1 3.13 (Caso di studio facoltativo) Pensare a oggetti: Modello-Vista-Controllore I design pattern descrivono strategie efficaci per costruire sistemi
Grafica swing in Java
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
maggio 2004 Stefano Sanna - [email protected]
java.awt awt.* Abstract Window Toolkit maggio 2004 Agenda Java e interfacce grafiche Caratteristiche di AWT Design e implementazione di interfacce grafiche Panoramica dei componenti disponibili Primitive
Swing. Swing 1. Java e la grafica Java permette di realizzare agevolmente applicazioni grafiche Package java.awt
Swing Swing 1 Java e la grafica Java permette di realizzare agevolmente applicazioni grafiche Package java.awt il primo package grafico (Java 1.0) indipendente dalla piattaforma... o quasi! Package javax.swing
Java GUI. Swing Java
Java GUI Swing Java 1 Introduzione n Componenti grafici di Java (Swing) Utilizzo di alcuni dei metodi per creare semplici finestre grafiche Accesso ai JavaDoc per usare meglio gli oggetti già pronti n
Thread e Concorrenza in Java Swing
Thread e Concorrenza in Java Swing Esercitazioni di Progettazione del Software A.A. 2013 2014 Alessandro Russo Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica
Threads e Concorrenza in Java Swing
SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici
Progettazione e Sviluppo di Interfacce Grafiche con Java Swing
Progettazione e Sviluppo di Interfacce Grafiche con Java Swing Esercitazioni di Progettazione del Software A.A. 2012 2013 Alessandro Russo e Massimo Mecella Sapienza Università di Roma Facoltà di Ingegneria
Introduzione. Java. G. Prencipe
Java creare finestre G. Prencipe [email protected] Introduzione L obiettivo originale delle librerie per interfacce grafiche utente (GUI) in Java1.0 era di permettere al programmatore di costruire interfacce
Scope e visibilità per classi
Scope e visibilità per classi Packages Classi interne nelle loro diverse forme Interne / statiche / locali Utilizzo congiunto con interfacce Implementazione di iteratori Gestione di eventi Packages Package:
23 - Graphical User Interface GUI (Cenni)
23 - Graphical User Interface GUI (Cenni) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo
GRAFICA ED EVENTI SWING, AWT e JavaFX
GRAFICA ED EVENTI SWING, AWT e JavaFX argomenti JavaFX: architettura e gerarchia Componenti principali: Stage, Scene, contenuti Gestione degli eventi Java Package Grafici I package grafici che comprende
Programmazione in Java e gestione della grafica. Lezione 19
Programmazione in Java e gestione della grafica Lezione 19 2 Parliamo di Componenti della GUI (Graphics User Interface) OBIETTIVI 3 Imparare i principi su cui sono basate le GUI Costruire dellegui e gestire
Campo Minato. in java
Campo Minato in java Il gioco campo rettangolare o quadrato suddiviso in tanti quadratini Il giocatore deve sminare il campo, cliccando sui quadratini, col tasto destro o col tasto sinistro il gioco cliccando
