Più movimento alle classi

Slides:



Advertisements
Presentazioni simili
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 51 Applet configurabili Grazie alla sezione parametri aggiuntivi del comando di HTML è possibile.
Advertisements

APRIRE PROGRAMMA DI POSTA OUTLOOK EXPRESS
Java e le interfacce grafiche
Unit à E4 Applet. Obiettivi Saper progettare e realizzare Applet Java allinterno di pagine HTML Comprendere le interazioni tra il browser e lapplet Saper.
Costruttori e Distruttori
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.
MICROSOFT WINDOWS n Cose MS Windows n Funzionalità di base n Gestione dei file.
Classi ed Oggetti in Java (Cenni). Richiami Ruolo delle Classi in Java Oggetti.
Le gerarchie di tipi.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Il linguaggio java Esercitazioni del corso di Sistemi Informativi
GUI Graphical Users Interfaces
S.I.S.S.I.S. Catania 2002/03 LE APPLET JAVA Prof. D. Cantone Amuso Raffaele.
Elementi di programmazione grafica
Elementi di programmazione grafica
Programmazione ad Eventi
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Applet Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Grafica Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Introduzione al linguaggio Java
Swing e la programmazione a eventi
Introduzione a JFC/Swing
Derivazione tra classi
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.
Esercizi di grafica ….
1 Grafica ed eventi/2 Più movimento alle classi. 2 Esercizio n.1 Realizzare una applicazione che permette il trascinamento di una ellissi allinterno di.
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.
Benvenuto nella presentazione “esercitazione” di Power Point.
AA2003/04 © M.A. Alberti Programmazione Interfacce 1 Programmazione Corso di laurea in Informatica.
Progetto di applicazioni grafiche. Disegno di forme complesse Prassi : un classe per ciascuna forma Progetta la forma individuando le componenti base.
Ping Pong. PingPongComponent.java Interfaccia pubblica della componente public class PingPongComponent extends JComponent { // crea una component da includere.
Capitolo 2 Utilizzare oggetti
Capitolo 9 Interfacce e polimorfismo
Capitolo 10 Ereditarietà
Java base IV: Java e la programmazione O.O.
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.
CdL Ingegneria Elettronica, Telecomunicazioni ed Automazione Fondamenti di Informatica LB A.A /02/2008 Alessandra Toninelli
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Swing.
Esercizi Swing.
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
Java gestione eventi introduzione. La gestione degli eventi Ci sono 3 oggetti interessati alla g. d. e.: L’oggetto interessato (event source) ad esempio.
Programmazione ad oggetti
OOP per la simulazione di sistemi reali. di Gianfranco Gallizia.
Applet Un applet o un’applet?.
Interfacce grafiche Capitolo 27 marzo 2004 Interfacce grafiche.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
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.
Programmazione in Java. Classi I programmi in Java consistono di classi. Le classi consentono di definire: collezioni di procedure (metodi statici) tipi.
Cose nuove di Java (prima a chiacchiera, poi formalmente)
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
LIP: 15 Marzo 2005 Vettori di interi. Esercizio proposto Definire una classe VectorInt i cui oggetti sono vettori omogenei di interi ordinati in modo.
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
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.
Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
Paradigma di programmazione event-driven
Transcript della presentazione:

Più movimento alle classi Grafica ed eventi Più movimento alle classi

JComponent e Repaint Come chiedere il ridisegno di un componente? Ogni componente Swing ha il metodo repaint(): l’invocazione di questo metodo schedula il ridisegno del componente “quanto prima” ESEMPIO: JPanel p=new JPanel(); p.add(…) … p.repaint(); Il repaint comporta la chiamata a metodo paintComponent(Graphics g) Utile nei quando si usano componenti per le animazioni

JFrame Come strutturare le classi che utilizzano le swing? Esempio quando si ha bisogno di un JFrame, creare una classe che estende JFrame e impostare nel costruttore tutte le istruzioni di inizializzazione Tutti i JComponent che devono essere accessibili vengono definiti come campi e inizializzati nel costruttore Esempio public class Myframe extends JFrame{ private JButton b; public Myframe(){ b=new JButton(“pulsante”); … } public void mioMetodo(){ b.setForeground(Color.RED);

Listener Vengono invocati a seguito di un determinato evento Alcuni listener di interesse: ActionListener MouseListener MouseMotionListener MouseWheelListener I metodi dei listener vengono invocati in maniera automatica dal gestore di eventi Java

Listener e accesso alla classe Permettere al listener di accedere a campi e metodi della classe generale (in genere si estende JFrame ma per le animazioni a volte si usa JComponent) Definire i listener come classi interne della classe ESEMPIO: public class Myframe extends JFrame{ private JButton b; public Myframe(){ b=new JButton(“pulsante”); b.addActionListener(new MioListener()); } private class MioListener implements ActionListener{ public void actionPerformed(ActionEvent e){ b.setBackground(Color.GREEN);

Listener e Adapter Adapter ESEMPIO: Di ogni tipo di listener esiste un Adapter Per ogni *Listener esiste *Adapter ad eccezione di quelli con zero o uno metodi. ESEMPIO: MouseAdapter MouseMotionListener  MouseMotionAdapter MouseWheelListener MouseWheelAdapter

Registrazione dei Listener Come registrare un listener *Listener: ActionListener,MouseListener, MouseMotionListener … Per aggiungere un *Listener ad un oggetto c c.add*Listener(listener); Esempio: JButton b=new JButton(“mio pulsante”); ActionListener l=new … b.addActionListener(l); b.addMouseMotionListener(…)

Analisi degli eventi passo passo Individuare il componente principale Definire una classe che estende JFrame o JPanel Nel costruttore inizializzare i componenti grafici Utilizzare variabili di istanza per i componenti che devono essere acceduti in altri metodi della classe o nei listener Stabilire quali sono gli eventi che interessano e quindi i tipi di listener utilizzare Implementare l’interfaccia del listener o estendere l’Adapter come classe interna

Analisi degli eventi passo passo Definire in quali aree vengono generati gli eventi cioè a quali componenti “agganciare” i listener registrare i listener definiti ai componenti (da fare nel costruttore della classe generale) Definire le azioni da eseguire nei metodi dei Listener

Ricapitolando… Definire una classe principale che estende JFrame o JPanel Nel costruttore inizializzare componenti grafici e listener Stabilire quali sono gli eventi e a in quali componenti Implementare i listener e registrarli Definire le azioni da eseguire nei metodi dei Listener

Esercizio n.1 Realizzare una applicazione che permette il trascinamento di una ellissi all’interno di un frame Click all’interno della ellissi per iniziare il trascinamento Movimento del mouse con pulsante per cliccato per spostare l’ellissi Visualizzazione della posizione x,y

Esercizio n.1 Osservazioni: Occorre differenziare il click iniziale dal trascinamento Capire quali eventi occorrono La pallina si deve muovere quando il click iniziale è stato fatto all’interno della stessa Come fare a capire se x,y appartengono ad un cerchio? Quando disegno la pallina in movimento devo fare attenzione al delta tra l’angolo a sinistra e il punto in cui è trascinata dal mouse

Esercizio n.2 Aggiungere al pannello precedente 2 pulsanti con le etichette “Rosso” e “Verde” La pressione del primo imposta il colore Rosso alla pallina, mentre il secondo usa il Verde Aggiungere una JSpinner che imposta l’altezza della pallina in base al valore specificato

Esercizio n.3 per casa A partire dall’esercizio originale, aggiungere una seconda pallina rossa che possa essere spostata in maniera indipendente dalla prima