Programmazione ad Eventi
|
|
|
- Sofia Forti
- 9 anni fa
- Visualizzazioni
Transcript
1 Programmazione ad Eventi
2 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 eventi componenti specifiche devono poter essere programmate senza preoccuparsi che di eventi specifici Necessario avere meccanismi per gestire eventi in modo selettivo Un meccanismo per dichiarare quali eventi si intendono gestire Continua
3 Eventi, Sorgenti, e Listeners Listener: Oggetto che viene notificato dell occorrere di un evento I suoi metodi descrivono le azioni da eseguire in risposta ad un evento Sorgente di eventi: Oggetto che origina eventi, o li emette, Notifica l evento ai propri listeners Vari tipi di sorgenti Componenti visuali: JButton, JTextField,... Timer, Continua
4 Eventi, Sorgenti, e Listeners Ogni sorgente genera un insieme ben definito di eventi determinato dal tipo della sorgente Eventi di basso livello mouse-down/up/move, key-press/release, component-resize/move, Eventi semantici ActionEvent: click su un JButton, doppio-click su un JListItem, tick di un Timer TextEvent: JTextField modificato da uno o più mouse/key events Continua
5 Eventi, Sorgenti, e Listeners Gestione mirata degli eventi Una applicazione può decidere quali eventi gestire tra quelli generati da ciascuna sorgente Registra su ciascuna componente solo i listeners degli eventi che intende gestire Continua
6 Eventi, Sorgenti, e Listeners Esempio: utilizziamo una componente JButton per realizzare un pulsante: associamo a ciascun pulsante un ActionListener Ricordiamo: public interface ActionListener { void actionperformed(actionevent event); } Dobbiamo fornire una classe il cui metodo actionperformed contiene le istruzioni da eseguire quando il pulsante viene premuto Continua
7 Eventi, Sorgenti, e Listeners event contiene informazioni sull evento (ad esempio l istante in cui è occorso) Associamo il listener al pulsante, registrandolo sul pulsante: ActionListener listener = new ClickListener(); button.addactionlistener(listener); addactionlistener(): un metodo di JButton void addactionlistener(actionlistener l);
8 File ClickListener.java 01: import java.awt.event.actionevent; 02: import java.awt.event.actionlistener; 03: 04: /** 05: Un action listener che stampa un messaggio 06: */ 07: public class ClickListener implements ActionListener 08: { 09: public void actionperformed(actionevent event) 10: { 11: System.out.println("I was clicked."); 12: } 13: }
9 File ClickTester.java import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; /** Come installare un ActionListener. */ public class ClickApp { public static void main(string[] args) { JFrame frame = new JFrame(); JButton button = new JButton("Click me!"); frame.add(button); Continua
10 File ClickTester.java } ActionListener listener = new ActionListener() { public void ActionPerformed() { System.out.println( I was clicked ); } } frame.setsize(frame_width, FRAME_HEIGHT); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true); } private static final int FRAME_WIDTH = 100; private static final int FRAME_HEIGHT = 60; Continua
11 File ClickListener.java Output:
12 Applicazioni con pulsanti Esempio: costruiamo una interfaccia grafica per calcolare gli intessi di un conto bancario Assumiamo dato il tasso di interesse Ad ogni click aggiungiamo al saldo gli intessi Continua
13 Applicazioni con pulsanti L applicazione ha due componenti Back-end: il conto bancario con i suoi metodi Front-end : l interfaccia grafica che permette l interazione con il backen Elementi del front-end un JButton per il pulsante JButton button = new JButton("Add Interest"); Una JLabel per visualizzare il saldo: JLabel label = new JLabel("balance="+account.getBalance()); Continua
14 Applicazioni con pulsanti Utilizziamo un JPanel come contenitore per raggruppare gli elementi della interfaccia all interno della finestra di interazione JPanel panel = new JPanel(); panel.add(button); panel.add(label); frame.add(panel); Aggiungiamo prima il pulsante, poi l etichetta Vengono disposti da sinistra a destra, in ordine Continua
15 File BankAccountGUI.java import java.awt.event.*; import javax.swing.*; /** Interfaccia Grafica per un BanckAccount. */ public class BankAccountGUI { public static void main(string[] args) { JFrame frame = new JFrame(); // L etichetta per visualizzare il saldo final JLabel label = new JLabel( "balance=" + account.getbalance()); Continua
16 File BankAccountGUI.java // Il pulsante che aggiorna il saldo JButton button = new JButton("Add Interest"); ActionListener listener = new ActionListener() { public void actionperformed(actionevent event) { // account è il conto su cui si agisce double interest = account.getbalance() * INTEREST_RATE / 100; account.deposit(interest); label.settext( "balance=" + account.getbalance()); } }; button.addactionlistener(listener); Continua
17 File BankAccountGUI.java // Il JPanel che contiene le componenti dell interfaccia JPanel panel = new JPanel(); panel.add(button); panel.add(label); frame.add(panel); frame.setsize(frame_width, FRAME_HEIGHT); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true); } // fine main() Continua
18 File BankAccountGUI.java // Il conto bancario su cui agire private static BankAccount account = new BankAccount(INITIAL_BALANCE); private static final double INTEREST_RATE = 10; private static final double INITIAL_BALANCE = 1000; } private static final int FRAME_WIDTH = 400; private static final int FRAME_HEIGHT = 100;
19 Domanda Perché label è dichiarata final mentre button e account non lo sono?
20 Risposta Perché label é una locale che viene riferita dalla classe interna mentre button è anch esso local ma non viene riferito account è un campo e quindi si può riferire da una classe interna
21 Input con JTextField Continua
22 Input con JTextField JTextField la componente che permette di ottenere input final int FIELD_WIDTH = 10; // numero di caratteri final JTextField ratefield = new JTextField(FIELD_WIDTH); Associamo ad ogni campo di testo una JLabel per chiarire il senso dell input JLabel ratelabel = new JLabel("Interest Rate: "); Continued
23 Input con JTextField La lettura dell input dal JTextField è la conseguenza di un evento: Due modi per ottenere l evento: diamo enter sul campo testo segnaliamo la fine dell input con un pulsante Continua
24 Input con JTextField La lettura avviene notificando un action listener class AddInterestListener implements ActionListener { public void actionperformed(actionevent event) { double rate = Double.parseDouble(rateField.getText());... } } Registriamo il listener sia sul pulsante sia sul campo testo
25 File BankAccountGUI2.java import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jtextfield; /** Interfaccia Grafica per un BanckAccount */ public class BankAccountGUI2 { public static void main(string[] args) { JFrame frame = new JFrame(); Continua
26 File BankAccountGUI2.java // L etichecca e il campo di testo per l input JLabel ratelabel = new JLabel("Interest Rate: "); final int FIELD_WIDTH = 10; final JTextField ratefield = new JTextField(FIELD_WIDTH); ratefield.settext("" + DEFAULT_RATE); // il pulsante che esegue il calcolo JButton button = new JButton("Add Interest"); // l etichetta per la visualizzazione final JLabel resultlabel = new JLabel( "balance=" + account.getbalance()); Continua
27 File BankAccountGUI2.java // il pannello che raccoglie le componenti GUI JPanel panel = new JPanel(); panel.add(ratelabel); panel.add(ratefield); panel.add(button); panel.add(resultlabel); frame.add(panel); class AddInterestListener implements ActionListener { public void actionperformed(actionevent event) { double rate = Double.parseDouble( ratefield.gettext()); double interest = account.getbalance() * rate / 100; account.deposit(interest); Continua
28 File BankAccountGUI2.java } resultlabel.settext( "balance=" + account.getbalance()); } } ActionListener listener = new AddInterestListener(); button.addactionlistener(listener); ratefield.addactionlistener(listener); frame.setsize(frame_width, FRAME_HEIGHT); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true); } // Il conto bancario su cui agire e le costanti private static BankAccount account = new BankAccount(INITIAL_BALANCE); private static final double DEFAULT_RATE = 10; private static final double INITIAL_BALANCE = 1000; private static final int FRAME_WIDTH = 500; private static final int FRAME_HEIGHT = 200;
29 Aree di testo JTextArea: utilizzabile per gestire più linee di testo nella stessa area Specifichiamo il numero di righe e colonne al momento della creazione: final int ROWS = 10; final int COLUMNS = 30; JTextArea textarea = new JTextArea(ROWS, COLUMNS); settext: definisce il contenuto (JTextArea, e JTextField) append: aggiunti testo alla fine dell area Continua
30 Aree di testo newline per separare le linee di testo textarea.append(account.getbalance() + "\n"); Aree di testo di sola lettura textarea.seteditable(false); // modificabile solo dall applicazione, non da utente
31 Aree di testo Scrollbars JTextArea textarea = new JTextArea(ROWS, COLUMNS); JScrollPane scrollpane = new JScrollPane(textArea); Continua
32 Esempio
33 Controllo del layout Ovvero, controllo della disposizione dei componenti all interno di una finestra Abbiamo visto applicazioni con una disposizione di componenti elementare I pannelli che abbiamo utilizzato dispongono le componenti in ordine, da sinstra verso destra Per disporre in modo più strutturato utilizziamo pannelli con diverse politiche di disposizione (layout) Continua
34 Controllo del layout Ogni contenitore è associato ad un layout manager che definisce la politica di disposizione delle componenti Tre tipologie standard di layout managers border layout flow layout grid layout
35 Controllo del layout JPanel ha un manager di default: FlowLayout: le componenti vengolo disposte da sinistra a destra utilizzando una nuova riga quando necessario È possibile modificare il layout manager con un metodo corrispondente panel.setlayout(new BorderLayout());
36 Grid Layout Dispone le componenti in una griglia con un numero predeterminato di righe e colonne Tutte le componeni asssumono le stesse dimensioni Espande ciascuna componente fino a riempire l area ad essa assegnata
37 Grid Layout Le componenti si aggiungono per riga, da sinistra a destra: JPanel numberpanel = new JPanel(); numberpanel.setlayout(new GridLayout(4, 3)); numberpanel.add(button7); numberpanel.add(button8); numberpanel.add(button9); numberpanel.add(button4);...
38 Grid Layout
39 Border Layout Dispone le componenti in aree: Continua
40 Border Layout È il layout di default per un JFrame (in realtà per il content pane del frame) Quando aggiungiamo una componente è necessario specificare la posizione: panel.add(component, BorderLayout.NORTH); Espande ciascuna componente fino a riempire l are assegnata se non si vuole questo effetto è necessario includere la componente in un ulteriore pannello
41 Esempio Pannello di NORTH CENTER
42 Eventi del mouse mousepressed, mousereleased: invocati quando un pulsante del mouse viene premuto o rilasciato mouseclicked: invocato quando un pulsante del mouse viene cliccato mouseentered, mouseexited: il mouse è entrato o è uscito dall area della componente
43 Eventi del mouse Catturati da MouseListeners public interface MouseListener { // un metodo per ciascun mouse event su una componente } void mousepressed(mouseevent event); void mousereleased(mouseevent event); void mouseclicked(mouseevent event); void mouseentered(mouseevent event); void mouseexited(mouseevent event); Continua
44 Eventi del mouse Se vogliamo che una componente reagisca ad eventi del mouse dobbiamo registrare un MouseListener sulla componente: public class MyMouseListener implements MouseListener { // Implementa i cinque metodis } MouseListener listener = new MyMouseListener(); component.addmouselistener(listener); Continua
45 Eventi del mouse Esempio: estendiamo l applicazione che visualizza un rettangolo aggiungendo la possibilità di spostare il rettangolo attraverso un click del mouse Il rettangolo si sposta nella posizione sulla quale il mouse avviene il click del mouse
46 Disegno di forme geometriche JComponent La classe che definisce contenitori generici, al cui interno includiamo forme geometriche Possiamo definire nuovi JComponent class ShapeComponent extends JComponent {... }
47 Disegno di forme geometriche paintcomponent metodo che produce il disegno invocato (automaticamente) tutte le volte che il componente per il quale è definito viene ridisegnato
48 Disegno di forme geometriche paintcomponent(graphics g) g contesto grafico Graphics classe che permette di manipolare lo stato del contesto grafico class ShapeComponent extends JComponent { public void paintcomponent(graphics g) { // Converti in Graphics2D Graphics2D g2 = (Graphics2D) g;... } }
49 File RectangleComponent.java import java.awt.*; import javax.swing.jcomponent; /** Sposta il rettagolo con un click del mouse. */ public class RectangleComponent extends JComponent { public RectangleComponent() { box = new Rectangle(BOX_X, BOX_Y, BOX_WIDTH, BOX_HEIGHT); } public void moveto(int x, int y) { box.setlocation(x, y); } public void paintcomponent(graphics g) { ((Graphics2D)g).draw(box); } Continua
50 File RectangleComponent.java private Rectangle box; } private static final int BOX_X = 100; private static final int BOX_Y = 100; private static final int BOX_WIDTH = 20; private static final int BOX_HEIGHT = 30;
51 Eventi del mouse Ora definiamo il mouse listener: quando premiamo il mouse il rettangolo si sposta raggiungendo il mouse Continued
52 Mouse Events class MousePressListener extends MouseAdapter { public void mousepressed(mouseevent event) { int x = event.getx(); int y = event.gety(); component.moveto(x, y); } } component.repaint(); Tutti i metodi devono essere implementati; implementazione vuota se inutili (meglio usare un Adapter)
53 RectangleMover Output
54 File RectangleMover.java import java.awt.event.*; import javax.swing.jframe; /** RectangleComponent interattivo */ public class RectangleMover { public static void main(string[] args) { final RectangleComponent component = new RectangleComponent(); Continua
55 File RectangleMover.java class MousePressListener implements MouseListener { public void mousepressed(mouseevent event) { component.moveto(event.getx(),event.gety()); component.repaint(); // force refresh } // Do-nothing methods public void mousereleased(mouseevent event) {} public void mouseclicked(mouseevent event) {} public void mouseentered(mouseevent event) {} public void mouseexited(mouseevent event) {} } Continued
56 File RectangleMover.java // Registra il listener MouseListener listener = new MousePressListener(); component.addmouselistener(listener); // Crea e disponi il frame JFrame frame = new JFrame(); frame.add(component); } frame.setsize(frame_width, FRAME_HEIGHT); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true); } private static final int FRAME_WIDTH = 300; private static final int FRAME_HEIGHT = 400;
57 Domande 7. Cosa succederebbe se omettessimo la chiamata a repaint nel listener? 8. Perchè nella classe MousePressListener dobbiamo definire tutti i metodi?
58 Risposte 7. Non avremmo l effetto dell animazione perché il rettangolo verrebbe ridisegnato solo in occasione di eventi del frame. 8. Perché implementa l interfaccia 8. Perché implementa l interfaccia MouseListener interface, che ha i cinque metodi
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
Interfacce grafiche utente
Interfacce grafiche utente Ereditarietà per personalizzare i frame Usare l ereditarietà per scomporre fames complessi in unità facilmente comprensibili Progettare sottoclassi di JFrame Memorizzare le componenti
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
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
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).
Raffaella Brighi, a.a. 2005/06. Eventi e listener. Corso di Laboratorio II. A.A. 2005-06
Raffaella Brighi, a.a. 2005/06 Eventi e listener Corso di Laboratorio II. A.A. 2005-06 Eventi e listener Un evento è un oggetto che rappresenta il verificarsi di un azione dell utente o del sistema(es
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
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
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
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)
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.
Esercizi. Esercizio P9.16. File ExP9_16.java. Anno Accademico 2003/04. Docente modulo 2: Barbara Masucci
Esercizio P9.16 Esercizi Scrivere un applicazione grafica che funga da interfaccia per la classe BankAccount. Fornite campi di testo e pulsanti per versare e prelevare denaro e per visualizzare il saldo
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
Programmazione in Java e gestione della grafica. Lezione 21
Programmazione in Java e gestione della grafica Lezione 21 2 Parliamo ( ancora ) di Eventi della GUI (Eventi del mouse e della tastiera) 3 Gestione degli eventi del mouse Eventi del Mouse Creo un oggetto
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
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
Gestione degli eventi in Java
Gestione degli eventi in Java package java.awt.event.* Il modello degli eventi I componenti dell awt generano eventi in seguito alle azioni dell utente movimento del mouse click pressione di un tasto etc.
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
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
interfacce ed eventi intercettare il mouse ed altri eventi
interfacce ed eventi intercettare il mouse ed altri eventi interfacce: premessa il termine "interfaccia" occorre in Java con due significati, collegati ma distinti 1. interface, parola chiave di Java e
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
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
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
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
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
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.
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
Corso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA5 B1 Gestione eventi 1 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti AWT o Swing Programmazione ad eventi 2 1 Introduzione Le interfacce create
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
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
Introduzione (Swing vs AWT)
Swing Introduzione (Swing vs AWT) Swing Swing sono delle librerie introdotte a partire dalla versione 1.2 del JDK come evoluzione concettuale delle librerie precedenti (Abstract Window Toolkit (AWT)) AWT
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:
ESERCITAZIONI SU Java
ESERCITAZIONI SU Java PER IL CORSO DI SISTEMI PER L ELABORAZIONE DELL INFORMAZIONE Claudia Picardi Dipartimento di Informatica - C.so Svizzera 185-10149 - Torino Tel. 0116706818 - e-mail: [email protected]
8. GUI : Graphics User Interface
pag.82 8. GUI : Graphics User Interface Un linguaggio ad oggetti ha come obiettivo principale quello di fornire al programmatore classi per la gestione di ambienti grafici a finestre. Se fino a questo
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
BorderLayout. 1 Gestori di Layout http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html (guida visuale)
Posizionamento diretto di un elemento GUI o tramite gestori di layout Nel posizionamento diretto (dipendente dalle impostazioni grafiche del sistema) non abbiamo bisogno di un gestore di layout (layout
Sviluppo di Interfacce Grafiche in Java. Concetti di Base ed Esempi.
SAPIENZA Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Dispensa didattica Sviluppo di Interfacce Grafiche in Java. Concetti di Base ed Esempi. M. de Leoni, M. Mecella,
Gestione dell interattività: gli eventi
Gestione dell interattività: gli eventi Gli eventi sono una modalità di comunicazione tra l utente (sistema) e il programma in esecuzione. Tipi di eventi: Input da parte dell utente: pressione del(i) bottone(i)
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
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
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
Ereditarietà e classi astratte
Ereditarietà e classi astratte 6 Temi del capitolo 1. Il concetto di ereditarietà 2. Programmazione grafica con ereditarietà 3. Classi astratte 4. Il pattern TEMPLATE METHOD 5. Interfacce protected 6.
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
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
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
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
COGNOME.NOME. Matricola
Esame di PROGRAMMAZIONE ORIENTATA AGLI OGGETTI Appello del 4.9.2013 COGNOME.NOME. Matricola Tre classi, denominate Anemone, Fiordaliso e Viola devono assicurare la visualizzazione di un fiore stilizzato
Grafico della parabola
Grafico della parabola Il grafico matematico è un disegno che mostra l andamento di una funzione f(x) al variare della variabile x. Per tracciare un grafico sul video del computer, si deve scegliere un
APPLICAZIONI & APPLET
APPLICAZIONI & APPLET Java è un ottimo linguaggio per costruire applicazioni anche non per Internet anche non grafiche ma si è diffuso storicamente, e trae forza, dal concetto di applet come piccola (?)
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
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.
! Programmazione strutturata. ! OO: TDA, scambio messaggi, eredità, polimorfismo, OO in Java. ! Rassegna API. ! Documentazione Javadoc delle API
Riassunto Applet (e altro dell AWT ) Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ [email protected] Programmazione, lezione 22 19 maggio
Semplici applicazioni grafiche in Java
Semplici applicazioni grafiche in Java Applicazione grafica Visualizza informazioni all interno di una finestra dotata di barra di titolo e cornice (frame) La Java Virtual Machine esegue ogni frame su
GUI e java swing. Templates per GUI degli IDE. Gli IDE forniscono Template per generare interfacce grafiche.
GUI e java swing Raffaella Brighi, a.a. 2006/07 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Templates per GUI degli IDE Gli IDE forniscono Template per generare interfacce
PROGRAMMAZIONE GRAFICA
PROGRAMMAZIONE GRAFICA Creazione di interfaccie utente grafiche, ovvero basate su concetti quali finestra, casella di testo, bottone, barra degli strumenti, menu. Elementi fondamentali: Componenti e composizione:
Corso Eclipse. Prerequisiti. 3 Window Builder
Corso Eclipse 3 Window Builder 1 Prerequisiti Conoscenza elementare ambiente Eclipse Conoscere la nomenclatura dei componenti delle interfacce grafiche Conoscere attributi e metodi dei principali componenti
JAVA Interfacce grafiche per Applicazioni ed Applet
JAVA Interfacce grafiche per Applicazioni ed Applet Andrea BEI ([email protected]) Programmazione a finestre In JAVA è possibile sviluppare 2 tipi di programmi a finestre: APPLICAZIONI: Una Applicazione
AWT: Abstract Window Toolkit
AWT: Abstract Window Toolkit E una libreria che offre le componenti GUI essenziali Tutte le componenti GUI che sono visualizzabili sono sottoclassi della classe astratta Component Container è una sottoclasse
TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet Prof. Franco Zambonelli Lucidi realizzati in collaborazione
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
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
Laboratorio di IUM. Lezione 3. La gestione degli eventi. Di Blasi Gianpiero - D.M.I. - Università di Catania
Di Blasi Gianpiero - D.M.I. - Università di Catania Laboratorio di IUM Lezione 3 La gestione degli eventi Cosa impareremo oggi? La filosofia della gestione gli eventi La gerarchia di eventi AWT Eventi
Java Interfaccia Grafica
Java Interfaccia Grafica Testi di consultazione: a) core Java 1.1 (Volume I Fundamentals) Cay S. Horstmann, Gary Cornell, Prentice Hall, 1997. b) Java 1.2 Unleashed, Jamie Jaworski, Sams Publishing, 1998.
Finestra.java. static String nomicolonne[] = {"ind.","cognome","nome","telefono","e-mail"}; //nomi delle colonne della tabella
import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowevent; import java.awt.event.windowlistener; import java.io.*; import java.util.*;
Esercizio 1: Gara di MotoGP
Si progetti ed implementi un componente software che realizza un flitro invocabile tramite interfaccia grafica (GUI). Il filtro cerca in un file sorgente le informazioni relative alle rilevazioni cronometriche
UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE
IDROID 86 LAB pagg 12-13 23-04-2007 14:57 Pagina 12 I-D01 LAB UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE PROGRAMMAZIONE Alcuni comportamenti predefiniti attivabili su I-Droid01 sono facilmente riproducibili
18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Esercitazione sui Design Pattern
Esercitazione sui Design Pattern Pattern Creazionali Singleton Permette la creazione di una sola istanza della classe all interno dell applicazione Fornisce un metodo con cui ottenere l istanza Il costruttore
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)
Modulo 2: Strutture fondamentali della programmazione Java
Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti
Tutorial SWING-AWT: Il Layout Manager GridBagLayout Di Michele de Nittis
Tutorial SWING-AWT: Il Layout Manager GridBagLayout Di Michele de Nittis Generalità... 2 Il principio di funzionamento... 2 Impiego degli oggetti di classe GridBagLayout e GridBagConstraints... 2 Posizionamento
Le tre operazioni sono identiche; il programmatore può scegliere il costruttore di volta in volta più comodo.
Complementi di Java Massimiliano de Leoni (con la supervisione del docente Massimo Mecella) L intento di questo documento è di descrivere alcune classi che forniscono funzionalità non descritte sul testo.
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:
Il codice generato automaticamente da NetBeans
Il codice generato automaticamente da NetBeans La creazione di applicazioni in NetBeans si svolge principalmente con il supporto di strumenti grafici per la progettazione dell interfaccia utente, tramite
Programmazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this [email protected] http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
Lena Cota Guido Corso di Informatica - II livello. Excel 2003 Formule. Imparare a usare le formule con la pratica
Excel 2003 Formule Imparare a usare le formule con la pratica 1 Cosa sono Uno degli obiettivi principali dei fogli di calcolo è fornire il risultato di operazioni matematiche, dalla semplice somma alle
