Programmazione in Java e gestione della grafica. Lezione 21

Documenti analoghi
Eventi e listener per i componenti grafici

Raffaella Brighi, a.a. 2005/06. Eventi e listener. Corso di Laboratorio II. A.A

Gestione dell interattività: gli eventi

interfacce ed eventi intercettare il mouse ed altri eventi

Interazioni col mondo: eventi

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

Esempi di programmazione

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

8. GUI : Graphics User Interface

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

Programmazione a Eventi

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. Oggi: GUI in Java, l AWT. Oggi. GUI in Java. Cos è una GUI. Stefano Mizzaro 1

Programmazione ad Eventi

Programmazione ad Eventi

Java Interfaccia Grafica

L interfaccia grafica in Java

Sviluppo di Interfacce Grafiche in Java

18 - Classi parzialmente definite: Classi Astratte e Interfacce

Programmazione orientata agli oggetti Classi astratte e interfacce

Java Interfaccia Grafica

Gestione di eventi ed interfacce utente grafiche

Programmazione in rete e laboratorio

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

Gestione degli eventi in Java

Campo Minato. in java

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

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

Corso sul linguaggio Java

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

Esercitazione n 6. Capacità di analisi e di estensione di progetti Componenti grafici e gestione di eventi Linguaggio Java:

Gerarchia delle classi Classi astratte Interfacce (Eccezioni) Laboratorio di Programmazione - Esercitazio 1

Paradigmi della PO. Incapsulamento. Ereditarietà. Polimorfismo. Software per TLC - AA 2008/2009 1

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

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

L interfaccia grafica con Java

maggio 2004 Stefano Sanna - gerda@crs4.it

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

Programmazione Java: Interfacce grafiche (GUI)

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

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

Progettazione e Sviluppo di Interfacce Grafiche con Java Swing

Java GUI. Swing Java

Introduzione al package grafico Swing

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD

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

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I {

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

Il Linguaggio Java. Le interfacce

AWT: Abstract Window Toolkit

Ereditarietà e classi astratte

Cos è un JavaBean. Java. Componenti software

Transcript:

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 MouseEvent Gestione con MouseListeners e MouseMotionListeners MouseInputListener combina le due interfacce Interfaccia MouseWheelListener dichiara un metodo mousewheelmoved che riceve parametro MouseWheelEvents (sottoclasse di MouseEvent.

4 MouseListener and MouseMotionListener interface methods Methods of interface MouseListener public void mousepressed( MouseEvent event ) Called when a mouse button is pressed while the mouse cursor is on a component. public void mouseclicked( MouseEvent event ) Called when a mouse button is pressed and released while the mouse cursor remains stationary on a component. This event is always preceded by a call to mousepressed. public void mousereleased( MouseEvent event ) Called when a mouse button is released after being pressed. This event is always preceded by a call to mousepressed and one or more calls to mousedragged. public void mouseentered( MouseEvent event ) Called when the mouse cursor enters the bounds of a component. Metodi delle interfacce MouseListener and MouseMotionListener

5 MouseListener and MouseMotionListener interface methods public void mouseexited( MouseEvent event ) Called when the mouse cursor leaves the bounds of a component. Methods of interface MouseMotionListener public void mousedragged( MouseEvent event ) Called when the mouse button is pressed while the mouse cursor is on a component and the mouse is moved while the mouse button remains pressed. This event is always preceded by a call to mousepressed. All drag events are sent to the component on which the user began to drag the mouse. public void mousemoved( MouseEvent event ) Called when the mouse is moved when the mouse cursor is on a component. All move events are sent to the component over which the mouse is currently positioned. Metodi delle interfacce MouseListener and MouseMotionListener

6 Le chiamate di metodo mousedragged and mousereleased sono passate a MouseMotionListener per la Component sul quale si è iniziata una operazione di trascinamento del mouse. La chiamata di metodo mousereleased alla fine di una operazione di trascinamento è passata al MouseListener per la Component sul quale si è iniziata una operazione di trascinamento del mouse.

Vediamo file mousetrackerframe.java

Classi Adapter 14 Molte interfacce event listener contengono moltissimi metodi e non sempre è pratico implementarli tutti (es. WindowListener ha 7 metodi per la gestione delle finestre!) Per risolvere questo, nel package java.awt.event e java.swing.event ci sono delle classi adapter

15 Classi Adapter per event listener Implementano interfacce event listener Forniscono implementazioni di default (con il corpo del metodo vuoto) per tutti i metodi di gestione degli eventi dell interfaccia corrispondente. Si può estendere una classe adapter ed estendere solo I metodi che servono nel nostro caso.

17 Event-adapter class in java.awt.event ComponentAdapter ContainerAdapter FocusAdapter KeyAdapter MouseAdapter MouseMotionAdapter WindowAdapter Implements interface ComponentListener ContainerListener FocusListener KeyListener MouseListener MouseMotionListener WindowListener Classi Event-adapter e interfacce implementate del package java.awt.event.

18 Estensione di MouseAdapter MouseAdapter È una classe adapter per le interfacce MouseListener e MouseMotionListener se estendiamo questa classe possiamo fare overriding solo dei metodi che ci servono

Vediamo file MouseDetailsFrame.java

24 Esempio: una sottoclasse JPanel per disegnare con il mouse Fare overriding nella classe JPanel Creiamo un area dedicata al disegno Usiamo il mouse per disegnare Classe Graphics è usata per disegnare su una componente Classe Point rappresenta una coppia x-y di coordinate

Metodo paintcomponent 25 Disegna su una componente Swing (Jcomponent) Fare overriding del metodo ci permette di creare disegni nostri Quando faccio overriding devo prima chimamare i metodi della superclasse

Vediamo file PaintPanel.java

Gestione degli eventi della tastiera Uso interfaccia KeyListener Devo dichiarare i metodi keypressed keyreleased keytyped

Vediamo file KeyDemoFrame.java TextAreaFrame.java