Eventi e listener per i componenti grafici

Размер: px
Начинать показ со страницы:

Download "Eventi e listener per i componenti grafici"

Транскрипт

1 Eventi e listener per i componenti grafici Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A CdL Operatore Informatico Giuridico. Eventi e listener Eventi e listener (ascoltatori) sono elementi fondamentali per la GUI perché consentono di intercettare l interazione con l utente. Un evento è un oggetto che rappresenta il verificarsi di un azione dell utente (es click del mouse o click su un tasto della tastiera). La libreria standard di Java contengono delle classi che rappresentano gli eventi che più spesso occorre gestire.

2 Eventi del mouse mouse pressed mouse released mouse clicked mouse entered mouse exited mouse moved mouse dragged Classe MouseEvent Point getpoint(): restituisce la posizione dell evento del mouse int getx(): restituisce la coord x dell evento del mouse int gety(): restituisce la coord y dell evento del mouse int getclickcount(): restituisce il numero dei click consecutivi associati all evento

3 Oggetti listener Un listener è un oggetto che aspetta che si verifichi un evento e quando ciò accade compie un azione in risposta. Per gestire un evento occorre: 1. creare un oggetto listener per l evento che interessa 2. aggiungere il listener al componente grafico che può generare l evento L interfaccia Listener Gli oggetti listener sono istanze di classi che implementano interfacce listener della libreria standard di Java. La libreria standard di Java contiene una serie di interfacce per ogni categoria di eventi: MouseListener, MouseMotionListener, KeyListener, ActionListener, ecc. Quando si scatena un evento il metodo appropriato dell ascoltatore viene invocato automaticamente.

4 L interfaccia MouseListener void mousepressed (MouseEvent evento): invocato quando viene premuto il pulsante del mouse void mousereleased (MouseEvent evento): invocato quando il pulsante del mouse viene rilasciato void mouseclicked (MouseEvent evento): invocato quando il pulsante del mouse viene premuto e rilasciato nella stessa posizione void mouseentered (MouseEvent evento): invocato quando il mouse passa sopra ad un componente grafico void mouseexited(mouseevent evento): invocato quando il mouse esce da un componente grafico Componenti che possono generare eventi I componenti che possono generare eventi hanno metodi che possono essere invocati per aggiungere un ascoltatore del tipo appropriato. Le applet, ad esempio, hanno il metodo addmouselistener che consente di aggiungere all applet stessa un oggetto che implementa l interfaccia MouseListener. Quando si invoca tale metodo si stabilisce un collegamento tra il componente grafico che genera l evento e l ascoltatore per gestirlo.

5 Creazione di una classe listener (che implementa l interfaccia mouselistener) per la classe MyClass. MyClass rappresenta un generico componete grafico che genera l evento «interfaccia» MouseListener +mouseclicked() +mousepressed() +mousereleased() +mouseentered() +mouseexited() MouseEvent +getpoint() +getx() +gety() +getclickcount() Esempio applicato ad una classe applet Codice della applet (vuota) che istanzia nel metodo init l oggetto listener e lo collega. Viene passato al listener un riferimento all oggetto su cui devono essere catturati gli eventi import java.awt.*; import java.applet.applet; public class TheApplet extends java.applet.applet { /** Initialization method that will be called after the applet is loaded * into the browser. */ public void init() { // istanzio l'oggetto MouseListener per la mia applet TheAppletMouseListener myappletmouselistener = new TheAppletMouseListener (this); addmouselistener(myappletmouselistener); public void paint(graphics pag){

6 Codice del listener per l applet TheApplet. Il costruttore riceve un riferimento alla applet. La classe implementa tutti i metodi dell interfaccia. import java.awt.*; import java.awt.event.*; public class TheAppletMouseListener implements MouseListener{ private TheApplet myapplet; /** Creates a new instance of MyAppletMouseListener */ public TheAppletMouseListener(TheApplet app) { myapplet=app; public void mouseclicked(mouseevent e) { public void mouseentered(mouseevent e) { public void mouseexited(mouseevent e) { public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) { Esempio: scrivere sulla finestra della applet l evento del mouse che si è scatenato. import java.awt.*; import java.applet.applet; public class TheApplet extends java.applet.applet { private String descrevento = "CIAOOOOO"; /** Initialization method that will be called after the applet is loaded * into the browser. */ public void init() { // istanzio l'oggetto MouseListener per la mia applet TheAppletMouseListener myappletmouselistener = new TheAppletMouseListener (this); addmouselistener(myappletmouselistener); public void paint(graphics pag){ pag.drawstring(descrevento, 10, 50); public void setdescrevento(string str){ descrevento=str;

7 import java.awt.*; import java.awt.event.*; public class TheAppletMouseListener implements MouseListener{ private TheApplet myapplet; /** Creates a new instance of MyAppletMouseListener */ public TheAppletMouseListener(TheApplet app) { myapplet=app; public void mouseclicked(mouseevent e) { myapplet.setdescrevento("mouseclicked"); public void mouseentered(mouseevent e) { myapplet.setdescrevento("mouseentered"); public void mouseexited(mouseevent e) { myapplet.setdescrevento("mouseexited"); public void mousepressed(mouseevent e) { myapplet.setdescrevento("mousepressed"); public void mousereleased(mouseevent e) { myapplet.setdescrevento("mousereleased"); Esercizio Scrivere una applet che al click del mouse disegni un cerchio nel punto in cui si è cliccato.

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 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

Подробнее

Gestione dell interattività: gli eventi

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)

Подробнее

Programmazione in Java e gestione della grafica. Lezione 21

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

Подробнее

interfacce ed eventi intercettare il mouse ed altri eventi

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

Подробнее

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

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).

Подробнее

Esempi di programmazione

Esempi di programmazione Esempi di programmazione Applet che disegna cerchi Costruire un'applet disegnoapplet che ad ogni pressione del mouse disegna un cerchio 1 disegnoapplet 1. Deve usare la classe Applet? NO 2. Deve estendere

Подробнее

! Programmazione strutturata. ! OO: TDA, scambio messaggi, eredità, polimorfismo, OO in Java. ! Rassegna API. ! Documentazione Javadoc delle API

! 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

Подробнее

Gestione di eventi ed interfacce utente grafiche

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

Подробнее

Gestione degli eventi in Java

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.

Подробнее

Interazioni col mondo: eventi

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

Подробнее

Appendice B - Othello come applet

Appendice B - Othello come applet Appendice B - Othello come applet Il gioco dell'othello, detto anche Reversi, consiste in una scacchiera di 64 caselle, 8 x 8, su cui all'inizio si trovano quattro pedine, due nere e due bianche, vedi

Подробнее

Programmazione ad Eventi

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

Подробнее

Campo Minato. in java

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

Подробнее

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

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

Подробнее

Sviluppo di Interfacce Grafiche in Java

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.

Подробнее

Programmazione ad Eventi

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

Подробнее

8. GUI : Graphics User Interface

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

Подробнее

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

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

Подробнее

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

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

Подробнее

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. 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

Подробнее

Java Interfaccia Grafica

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.

Подробнее

Laboratorio di IUM. Lezione 3. La gestione degli eventi. Di Blasi Gianpiero - D.M.I. - Università di Catania

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

Подробнее

L interfaccia grafica in 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

Подробнее

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. 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

Подробнее

Alessandro De Luca. Lezione, 13 maggio 2015

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

Подробнее

Grafico della parabola

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

Подробнее

Java Interfaccia Grafica

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.

Подробнее

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

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

Подробнее

AWT: Abstract Window Toolkit

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

Подробнее

Ereditarietà e classi astratte

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.

Подробнее

Esercitazione sui Design Pattern

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

Подробнее

Progettazione e Sviluppo di Interfacce Grafiche con Java Swing

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

Подробнее

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

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.

Подробнее

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

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

Подробнее

LPR 2005/ 2006 Lezione n.9. Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi

LPR 2005/ 2006 Lezione n.9. Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi LPR 2005/ 2006 Lezione n.9 Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi JAVA 2D PROGRAMMING Schermo : Matrice rettangolare composta

Подробнее

18 - Classi parzialmente definite: Classi Astratte e Interfacce

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/

Подробнее

Le Applet Java. Le Applet

Le Applet Java. Le Applet Le Applet Java ed anche i gestori del layout ed altri eventi ed altro ancora Le Applet Sono delle piccole applicazioni Non sono pensate per essere eseguite indipendentemente (non vengono lanciate con il

Подробнее

Programmazione ad Oggetti. JFrame è la classe di base per le finestre Fornisce tutte le caratteristiche di una finestra vuota

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

Подробнее

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

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

Подробнее

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

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato

Подробнее

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo L6 (JAVA9) 1 Introduzione alle applet 1 Prerequisiti Architettura client/server Elementi di base HTML Programmazione Java Utilizzo package awt di Java 2 1 Introduzione

Подробнее

Riassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1.

Riassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1. OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro [email protected] Programmazione,

Подробнее

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami

Подробнее

GESTIONE DEGLI ERRORI

GESTIONE DEGLI ERRORI GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori

Подробнее

E21 Esercizi sulle collezioni in Java

E21 Esercizi sulle collezioni in Java E21 Esercizi sulle collezioni in Java Esercizio 1. Sia data una classe Contatto le cui istanze rappresentano contatti telefonici. Ogni contatto ha un nome, un cognome e un numero telefonico (tutti di tipo

Подробнее

Introduzione al package grafico Swing

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

Подробнее