SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Lezione del 21 novembre 2008 per la classe IV A Liceo tecnico Prof. Silvano natalizi
Procedura da seguire per disegnare oggetti grafici ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Procedura da seguire per disegnare oggetti grafici 2D ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Che significa cast Graphics to Graphics2D  ,[object Object],[object Object],[object Object],[object Object]
Programma per ruotare un Poligono ,[object Object],[object Object],[object Object],[object Object]
Quali classi ci occorrono ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Come si definisce la classe RotatePlygon ,[object Object],[object Object],[object Object]
Creiamo un oggetto Poligono ,[object Object],[object Object],[object Object],[object Object],[object Object]
Inizializziamo la Applet ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Il metodo paint() public void paint(Graphics g) { //create an instance of Graphics2D Graphics2D g2d = (Graphics2D) g; //create a random number  Random rand = new Random(); //save the window width/height int width = getSize().width; int height = getSize().height; //fill the background with black g2d.setColor(Color.BLACK); g2d.fillRect(0, 0, width, height); //move, rotate, and scale the shape randomly g2d.translate(width / 2, height / 2); g2d.scale(20, 20); g2d.rotate(Math.toRadians(rotation)); //draw the shape with a random color g2d.setColor(Color.RED); g2d.fill(poly); g2d.setColor(Color.BLUE); g2d.draw(poly); }
Elaborazione degli eventi del mouse //handle mouse events public void mouseEntered(MouseEvent m) { } public void mouseExited(MouseEvent m) { } public void mouseReleased(MouseEvent m) { } public void mouseClicked(MouseEvent m) { } public void mousePressed(MouseEvent m) { switch(m.getButton()) { case MouseEvent.BUTTON1: rotation--; if (rotation < 0) rotation = 359; repaint(); break; case MouseEvent.BUTTON3: rotation++; if (rotation > 360) rotation = 0; repaint(); break; } } }
 

Más contenido relacionado

Similar a Graphics Lezione1

C(99) gtk 03 - le immagini
C(99) gtk   03 - le immaginiC(99) gtk   03 - le immagini
C(99) gtk 03 - le immaginiMaurizio Carboni
 
Box2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaBox2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaMaurizio Moriconi
 
C(99) gtk 01 - introduzione e finestre
C(99) gtk   01 - introduzione e finestreC(99) gtk   01 - introduzione e finestre
C(99) gtk 01 - introduzione e finestreMaurizio Carboni
 
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiAlgoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiSergio Porcu
 
Qt Lezione4 Parte2: creare un custom widget plugin per Qt Designer
Qt Lezione4 Parte2: creare un custom widget plugin per Qt DesignerQt Lezione4 Parte2: creare un custom widget plugin per Qt Designer
Qt Lezione4 Parte2: creare un custom widget plugin per Qt DesignerPaolo Sereno
 
Qt Lezione4 Parte1: creare un custom widget plugin
Qt Lezione4 Parte1: creare un custom widget pluginQt Lezione4 Parte1: creare un custom widget plugin
Qt Lezione4 Parte1: creare un custom widget pluginPaolo Sereno
 
Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!Marcello Missiroli
 
Lezione 6 aprile GameLab
Lezione 6 aprile GameLabLezione 6 aprile GameLab
Lezione 6 aprile GameLabLuca Leone
 
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...Francesco Cirillo
 
Qt Concurrent
Qt ConcurrentQt Concurrent
Qt ConcurrentQT-day
 

Similar a Graphics Lezione1 (12)

C(99) gtk 03 - le immagini
C(99) gtk   03 - le immaginiC(99) gtk   03 - le immagini
C(99) gtk 03 - le immagini
 
Pillole di C++
Pillole di C++Pillole di C++
Pillole di C++
 
La Grafica Con Java
La Grafica Con JavaLa Grafica Con Java
La Grafica Con Java
 
Box2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaformaBox2D: Un motore fisico opensource multipiattaforma
Box2D: Un motore fisico opensource multipiattaforma
 
C(99) gtk 01 - introduzione e finestre
C(99) gtk   01 - introduzione e finestreC(99) gtk   01 - introduzione e finestre
C(99) gtk 01 - introduzione e finestre
 
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiAlgoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
 
Qt Lezione4 Parte2: creare un custom widget plugin per Qt Designer
Qt Lezione4 Parte2: creare un custom widget plugin per Qt DesignerQt Lezione4 Parte2: creare un custom widget plugin per Qt Designer
Qt Lezione4 Parte2: creare un custom widget plugin per Qt Designer
 
Qt Lezione4 Parte1: creare un custom widget plugin
Qt Lezione4 Parte1: creare un custom widget pluginQt Lezione4 Parte1: creare un custom widget plugin
Qt Lezione4 Parte1: creare un custom widget plugin
 
Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!
 
Lezione 6 aprile GameLab
Lezione 6 aprile GameLabLezione 6 aprile GameLab
Lezione 6 aprile GameLab
 
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
20050621 Ridurre il Costo del Cambiamento Applicando il Design Object Oriente...
 
Qt Concurrent
Qt ConcurrentQt Concurrent
Qt Concurrent
 

Más de Silvano Natalizi - ITIS ALESSANDRO VOLTA PERUGIA

Más de Silvano Natalizi - ITIS ALESSANDRO VOLTA PERUGIA (20)

Il moto circolare
Il moto circolareIl moto circolare
Il moto circolare
 
Interferenza dueonde
Interferenza dueondeInterferenza dueonde
Interferenza dueonde
 
Procedimentodisoluzione fisicaparticelle
Procedimentodisoluzione fisicaparticelleProcedimentodisoluzione fisicaparticelle
Procedimentodisoluzione fisicaparticelle
 
Proc solescercaparabolastaccasegmentosuassex
Proc solescercaparabolastaccasegmentosuassexProc solescercaparabolastaccasegmentosuassex
Proc solescercaparabolastaccasegmentosuassex
 
Lezionematematicadel250213
Lezionematematicadel250213Lezionematematicadel250213
Lezionematematicadel250213
 
Problema fisica compito in classe
Problema fisica compito in classeProblema fisica compito in classe
Problema fisica compito in classe
 
Esercizi sulla energia meccanica
Esercizi sulla energia meccanicaEsercizi sulla energia meccanica
Esercizi sulla energia meccanica
 
Problemi di trigonometria
Problemi di trigonometriaProblemi di trigonometria
Problemi di trigonometria
 
Energiaconservazione
EnergiaconservazioneEnergiaconservazione
Energiaconservazione
 
Lezione Blog Didattici 27 4 2010
Lezione Blog Didattici 27 4 2010Lezione Blog Didattici 27 4 2010
Lezione Blog Didattici 27 4 2010
 
Portale libreria online
Portale libreria onlinePortale libreria online
Portale libreria online
 
Lezione dappubblicaresulblogvale
Lezione dappubblicaresulblogvaleLezione dappubblicaresulblogvale
Lezione dappubblicaresulblogvale
 
Lezione android esercizi
Lezione android esercizi Lezione android esercizi
Lezione android esercizi
 
Lezione programmazione database con java Servlet - quarta parte
Lezione programmazione database con java Servlet - quarta parteLezione programmazione database con java Servlet - quarta parte
Lezione programmazione database con java Servlet - quarta parte
 
Lezione jsp su come gestire una tabella relazionale con chiave esterna
Lezione jsp su come gestire una tabella relazionale con chiave esternaLezione jsp su come gestire una tabella relazionale con chiave esterna
Lezione jsp su come gestire una tabella relazionale con chiave esterna
 
Sesta lezione android
Sesta lezione androidSesta lezione android
Sesta lezione android
 
Quinta lezione android
Quinta lezione androidQuinta lezione android
Quinta lezione android
 
Quarta lezioneandroid
Quarta lezioneandroidQuarta lezioneandroid
Quarta lezioneandroid
 
Lezione jsp pdatabase crud quintaparte
Lezione jsp pdatabase crud quintaparteLezione jsp pdatabase crud quintaparte
Lezione jsp pdatabase crud quintaparte
 
Lezione js pdatabasecrudterzaparte
Lezione js pdatabasecrudterzaparteLezione js pdatabasecrudterzaparte
Lezione js pdatabasecrudterzaparte
 

Último

biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024Damiano Orru
 
Turismo sostenibile o esperienze trasformative?
Turismo sostenibile o esperienze trasformative?Turismo sostenibile o esperienze trasformative?
Turismo sostenibile o esperienze trasformative?ANCI - Emilia Romagna
 
Riposizionare le CER con la piramide della decarbonizzazione
Riposizionare le CER con la piramide della decarbonizzazioneRiposizionare le CER con la piramide della decarbonizzazione
Riposizionare le CER con la piramide della decarbonizzazioneANCI - Emilia Romagna
 
Solo con riqualificazioni profonde siamo troppo lenti!
Solo con riqualificazioni profonde siamo troppo lenti!Solo con riqualificazioni profonde siamo troppo lenti!
Solo con riqualificazioni profonde siamo troppo lenti!ANCI - Emilia Romagna
 
DIGNITAS INFINITA – DIGNITÀ UMANA - Dichiarazione del dicastero per la Dottri...
DIGNITAS INFINITA – DIGNITÀ UMANA - Dichiarazione del dicastero per la Dottri...DIGNITAS INFINITA – DIGNITÀ UMANA - Dichiarazione del dicastero per la Dottri...
DIGNITAS INFINITA – DIGNITÀ UMANA - Dichiarazione del dicastero per la Dottri...Martin M Flynn
 
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?Nicola Rabbi
 

Último (6)

biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
 
Turismo sostenibile o esperienze trasformative?
Turismo sostenibile o esperienze trasformative?Turismo sostenibile o esperienze trasformative?
Turismo sostenibile o esperienze trasformative?
 
Riposizionare le CER con la piramide della decarbonizzazione
Riposizionare le CER con la piramide della decarbonizzazioneRiposizionare le CER con la piramide della decarbonizzazione
Riposizionare le CER con la piramide della decarbonizzazione
 
Solo con riqualificazioni profonde siamo troppo lenti!
Solo con riqualificazioni profonde siamo troppo lenti!Solo con riqualificazioni profonde siamo troppo lenti!
Solo con riqualificazioni profonde siamo troppo lenti!
 
DIGNITAS INFINITA – DIGNITÀ UMANA - Dichiarazione del dicastero per la Dottri...
DIGNITAS INFINITA – DIGNITÀ UMANA - Dichiarazione del dicastero per la Dottri...DIGNITAS INFINITA – DIGNITÀ UMANA - Dichiarazione del dicastero per la Dottri...
DIGNITAS INFINITA – DIGNITÀ UMANA - Dichiarazione del dicastero per la Dottri...
 
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
 

Graphics Lezione1

  • 1. Lezione del 21 novembre 2008 per la classe IV A Liceo tecnico Prof. Silvano natalizi
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Il metodo paint() public void paint(Graphics g) { //create an instance of Graphics2D Graphics2D g2d = (Graphics2D) g; //create a random number Random rand = new Random(); //save the window width/height int width = getSize().width; int height = getSize().height; //fill the background with black g2d.setColor(Color.BLACK); g2d.fillRect(0, 0, width, height); //move, rotate, and scale the shape randomly g2d.translate(width / 2, height / 2); g2d.scale(20, 20); g2d.rotate(Math.toRadians(rotation)); //draw the shape with a random color g2d.setColor(Color.RED); g2d.fill(poly); g2d.setColor(Color.BLUE); g2d.draw(poly); }
  • 11. Elaborazione degli eventi del mouse //handle mouse events public void mouseEntered(MouseEvent m) { } public void mouseExited(MouseEvent m) { } public void mouseReleased(MouseEvent m) { } public void mouseClicked(MouseEvent m) { } public void mousePressed(MouseEvent m) { switch(m.getButton()) { case MouseEvent.BUTTON1: rotation--; if (rotation < 0) rotation = 359; repaint(); break; case MouseEvent.BUTTON3: rotation++; if (rotation > 360) rotation = 0; repaint(); break; } } }
  • 12.