Timer Animazioni.

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

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.
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.
Programmazione Ingegneria TLC
Esercitazione Frame. Argomento Realizzazione di un tipo di dato astratto Usare le eccezioni per segnalare situazioni particolari Invariante e funzione.
Il linguaggio java Esercitazioni del corso di Sistemi Informativi
Fondamenti di Informatica
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
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
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.
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.
Selezione (=scelta) con “if-else”
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
Progetto di applicazioni grafiche. Disegno di forme complesse Prassi : un classe per ciascuna forma Progetta la forma individuando le componenti base.
Programmazione ad Oggetti AA 2011– Contenuti del corso Modulo A Tecniche di programmazione Docente: Prof. Michele Bugliesi Modulo B Tecniche di.
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à
Esempi di Java 3D.
IL CONCETTO DI PACKAGE Una applicazione è spesso composta di molte classi (eventualmente correlate) Un package è un gruppo di classi che costi- tuiscono.
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.
Programmazione concorrente
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.
Problema dei Contratti Telefonici
1 Applet ed HTML Fondamenti di Informatica Corso D.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Swing.
Esercizi Swing.
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Libreria standard.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Java gestione eventi introduzione. La gestione degli eventi Ci sono 3 oggetti interessati alla g. d. e.: L’oggetto interessato (event source) ad esempio.
ESERCITAZIONE 12 ESERCIZIO 2 14/05/2014. Consegne 1/4 Definire la classe MyBufferedReader che estende la classe BufferedReader, implementando il metodo.
OOP per la simulazione di sistemi reali. di Gianfranco Gallizia.
Applet Un applet o un’applet?.
Interfacce grafiche Capitolo 27 marzo 2004 Interfacce grafiche.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Gestione dei thread in Java
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.
Metodologie di Programmazione Esercizi sulla semantica di Java.
Esercizio 2. Si mostri l’evoluzione dello stato (ambiente di classi, heap, pila) durante la valutazione delle seguenti dichiarazioni di classe nei punti.
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 primo contatto Quando le classi fanno la differenza …
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
Paradigma di programmazione event-driven
Transcript della presentazione:

Timer Animazioni

Classe Timer Costruttore: new Timer(int delay, ActionListener listener) Esegue il metodo del listener ogni delay millisecondi… Come si usa? Creare una classe interna che implementa ActionListener Definire la logica della animazione Creare un timer con delay e la propria classe. Metodi di gestione Metodo start() avvia l’animazione Metodo stop() termina l’animazione

Esercizio JFrame che ad ogni secondo cambia il colore dello sfondo in maniera randomica Classe principale che estende JFrame (classe1) Classe interna che estende ActionListener per la gestione degli eventi del Timer (classe2) Il costruttore della classe1 crea il Timer Il metodo actionPerformed della classe2 contiene le istruzioni per l’animazione

public class SimpleTimer extends JFrame { public SimpleTimer() { //crea un oggetto Timer e avvia il timer } //gestore del listener private class ListenerTimerColore implements ActionListener { public void actionPerformed(ActionEvent e) { //genera il colore random e //lo imposta come sfondo //del contentpane del frame public static void main(String[] a){ //crea il frame e lo rende visibile

Soluzione/1 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SimpleTimer extends JFrame { Timer timer; public SimpleTimer() { //crea un oggetto Timer ListenerTimerColore listener = new ListenerTimerColore() timer = new Timer(1000, listener); timer.start(); //avvia il timer } ……

Soluzione/2 private class ListenerTimerColore implements ActionListener { public void actionPerformed(ActionEvent e) { //genera il colore random int r = (int) (Math.random() * 255); int g = (int) (Math.random() * 255); int b = (int) (Math.random() * 255); //imposta il background random getContentPane(). setBackground(new Color(r, g, b)); }

Soluzione/3 public static void main(String[] args) { SimpleTimer f = new SimpleTimer(); f.setSize(100, 100); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); }

Esercizio Modificare il precedente programma in modo da: Aggiungere alla finestra due pulsanti con etichette start e stop; Il primo avvia l’animazione e il secondo la interrompe.

Soluzione/1 private class ListenerPulsanteStart implements ActionListener { public void actionPerformed(ActionEvent e) { timer.start(); } private class ListenerPulsanteStop implements ActionListener { timer.stop();

Soluzione/2 public SimpleTimer() { //creo un mio content pane final JPanel contentPane = new JPanel(); this.setContentPane(contentPane); //crea un oggetto Timer timer = new Timer(1000, new ListenerTimerColore()); //crea i due pulsanti JButton start=new JButton("START"); JButton stop=new JButton("STOP"); //li aggiunge this.add(start); this.add(stop); //aggiunge i listener start.addActionListener(new ListenerPulsanteStart()); stop.addActionListener(new ListenerPulsanteStop()); }

Esercizio Realizzare l’animazione di una pallina che cade con velocità orizzontale e accelerazione verticale non nulle. Fermare l’animazione quando la pallina esce dalla zona visiva Aggiungere un pulsante che avvia/riavvia l’animazione Aggiungere un pulsante che interrompe l’animazione

Screenshot