Paradigma di programmazione event-driven

Slides:



Advertisements
Presentazioni simili
Java e le interfacce grafiche
Advertisements

Unit à E4 Applet. Obiettivi Saper progettare e realizzare Applet Java allinterno di pagine HTML Comprendere le interazioni tra il browser e lapplet Saper.
Oggetti Java.
Applet Java.
Unit à E3 Eventi. Obiettivi Conoscere il concetto di evento e gestore di evento Conoscere i pulsanti in Swing e la gestione dellevento clic Saper gestire.
Visual C# 4TC a.s. 2010/11 Appunti da M.De Benedittis – C# -ed. Hoepli
Informatica 2 Lezione 4 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni.
2/11/2004Laboratorio di Programmazione - Luca Tesei1 Punto della situazione Da dove veniamo, dove andiamo.
29 febbraio 2008 Progettare tipi di dato astratti.
Le gerarchie di tipi.
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
Il linguaggio java Esercitazioni del corso di Sistemi Informativi
GUI Graphical Users Interfaces
Ing. del software B Il Pattern Observer Simone Magnolini.
Interfacce. Interfacce come strumento di progetto Scelta delle classi di un progetto Criteri di coesione e accoppiamento Interfacce e riuso di codice.
Programmazione ad Eventi
Grafica Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Layouts and Graphics. component - container - layout Un Container contiene [0 o +] Components Il Layout specifica come i Components sono disposti nel.
Swing e la programmazione a eventi
Swing e la programmazione a eventi
Introduzione a JFC/Swing
Overriding.
Grafico di funzione Disegna la Matematica.
1 Eventi/2 Più movimento alle classi. 2 Eventi Java Modo per intercettare il verificarsi di certe condizioni / azioni e fare in modo che venga eseguito.
Soluzione Esercizio - Classe Vettore
Più movimento alle classi
Gestione eventi esercitazione n aprile 2006.
Progettazione dei Sistemi Interattivi (a.a. 2004/05) - Lezione 81 Gestione dei colori La gestione dei colori in AWT consente di specificare un qualunque.
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Programmazione II: Tecniche Avanzate. (A.A. 1999/2000) - Lezione 6 1 Estensione di classi: il Contratto INTERFACCIA E REALIZZAZIONE Che cosa realizza una.
AA2003/04 © M.A. Alberti Programmazione Interfacce 1 Programmazione Corso di laurea in Informatica.
Programmazione con Interfacce
Ping Pong. PingPongComponent.java Interfaccia pubblica della componente public class PingPongComponent extends JComponent { // crea una component da includere.
Capitolo 9 Interfacce e polimorfismo
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. Lapproccio classico consiste nellinse- rire controlli.
JAVA E LA GRAFICA L’architettura Java è graphics-ready
APPLICAZIONI & APPLET Java è un ottimo linguaggio per costruire applicazioni anche non per Internet anche non grafiche ma si è diffuso storicamente, e.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Swing.
Esercizi Swing.
Java gestione eventi introduzione. La gestione degli eventi Ci sono 3 oggetti interessati alla g. d. e.: L’oggetto interessato (event source) ad esempio.
OOP per la simulazione di sistemi reali. di Gianfranco Gallizia.
30/11/2004Laboratorio di Programmazione - Luca Tesei1 Interfacce e Polimorfismo.
Interfacce grafiche Capitolo 27 marzo 2004 Interfacce grafiche.
Timer Animazioni.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Graphics Disegno a mano libera.
Java terzo contatto Swing Java.
Esercitazione  obiettivo: scrivere una applicazione per il gioco “Centra Bersaglio”  metodo individuazione e definizione delle classi necessarie.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
LIP: 11 Maggio 2007 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
LIP: 4 Maggio 2007 Interfacce. Cos’e’ una Interfaccia una interfaccia e’ un particolare tipo di classe contiene solo la specifica non ha implementazione.
LIP: 18 Aprile 2008 Interfacce. Rappresentazione Lista val next vuota Lista vuota: any true Lista non vuota: any true 154 false 24 false.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2015/16 Oltre le classi.
La programmazione ad oggetti
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Introduzione alle Classi e agli Oggetti in Java 1.
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
Esercizi.
Programmazione a oggetti
Java e le interfacce grafiche
Oggetti Java.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Eccezioni – Precisazioni e approfondimenti
Interfacce in Java Superare il meccanismo dell’ereditarietà singola
UML Diagramma statico di una classe
Dalla programmazione tradizionale al paradigma OO
Scandire …...
Transcript della presentazione:

Paradigma di programmazione event-driven

Evento

Programmazione guidata da evento

Programmazione event-driven in Java

Modello a delega in Java

Acoltatori in Java: modello a delega

Passi per gestire gli eventi in Java Decidere quali eventi interessano l’applicazione. Tale fase si traduce nella scelta dell’interfaccia di ascolto da implementare. Decidere qual è l’origine dell’evento: il componente o contenitore che può generare (notificare)l’evento e creare tale oggetto GUI (ogni componente ad eccezione di LABEL o un contenitore ad esempio tutta l’applicazione) Creare un oggetto della classe di ascolto L’oggetto ascoltatore può essere ad esempio tutta l’applicazione o una sua parte che implementa (implements) la classe predefinita d’ascolto di quell’evento che ne definisce l’interfaccia (metodi di risposta a quell’evento). L’oggetto ascoltatore può essere creato come istanza di una classe di ascolto definita dall’utente che implementa (implements) la classe predefinita d’ascolto di quell’evento che ne definisce l’interfaccia (metodi di risposta a quell’evento) Collegare all’origine dell’evento l’oggetto della classe d’ascolto di quell’evento cioè registrare l’ascoltatore Implementare almeno un metodo dell’interfaccia per rispondere a quell’evento creando il codice di gestione che serve.

Esempio: evento di azione Origine dell’evento di azione: un JButton Interfaccia da implementare AcionListener: si sceglie tutta l’applicazione che implementi l’unico metodo astratto public void actionPerformed(ActionEvent ev) ; applicazione tutta codice che cambia colore di sfondo del bottone

Codice (1) import java.awt.event.*; import java.awt.*; import javax.swing.*; public class BottoneRB implements ActionListener { // classe ascoltatore // che implementa interfaccia per eventi di azione private JFrame f; private Container c; private JPanel p; private JButton b; public BottoneRB(){ // costruttore f = new JFrame ("Cambio di colore"); c = f.getContentPane(); p = new JPanel(); b = new JButton("Premi"); b.addActionListener (this); // lega la classe di ascolto cioè l’applicazione stessa // all’origine dell’evento cioè il pulsante // prosegue …….

Codice (2) b.setBackground (Color.red); p.add(b); c.add(p); f.setLocation(200,200); f.setSize(400,100); f.setBackground(Color.white); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // senza esplicita gestione di eventi di finestra } public void actionPerformed (ActionEvent ev) { // implemento unico metodo dell’interfaccia di ascolto b.setBackground (Color.cyan); // cambia colore di sfondo del bottone public static void main (String [] args) { new BottoneRB (); // creo oggetto anonimo } // fine applicazione

Eventi: primi metodi utili Per qualsiasi evento: Object getSource() restituisce la componente su cui si è verificato l’evento e si può scoprire con “instanceof” a quale classe appartiene. Per eventi di azione: String getActionCommand() restituisce la stringa contenuta nell’oggetto (ad esempio il testo all’interno del bottone)

Problema: un GUI con due pulsanti ed una casella di testo

Eventi SWING

Esercitarsi