Semplici applicazioni grafiche in Java
|
|
|
- Adelmo Massari
- 10 anni fa
- Visualizzazioni
Transcript
1 Semplici applicazioni grafiche in Java
2 Applicazione grafica Visualizza informazioni all interno di una finestra dotata di barra di titolo e cornice (frame) La Java Virtual Machine esegue ogni frame su una thread separata la gestione del frame e delle operazioni che genera è affidata ad una thread Thread = flusso di esecuzione, processo, visione dinamica di un programma sequenziale
3 Finestre: classe javax.swing.jframe import javax.swing.*; JFrame frame = new JFrame(); frame.setsize(300, 400); frame.settitle( "An Empty Frame"); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true);
4 File EmptyFrameViewer.java 01: import javax.swing.*; 02: 03: public class EmptyFrameViewer 04: { 05: public static void main(string[] args) 06: { 07: JFrame frame = new JFrame(); 08: 09: final int FRAME_WIDTH = 300; 10: final int FRAME_HEIGHT = 400; 11: 12: frame.setsize(frame_width, FRAME_HEIGHT); 13: frame.settitle("an Empty Frame"); 14: frame.setdefaultcloseoperation(jframe.exit_on_close); 15: 16: frame.setvisible(true); 17: } 18: }
5 Disegnare figure per visualizzare qualcosa all interno di un frame occorre definire un oggetto di tipo JComponent e aggiungerlo al frame si deve estendere la classe JComponent (pacchetto javax.swing) public class RectangleComponent extends JComponent { public void paintcomponent(graphics g) { // Recover Graphics2D Graphics2D g2 = (Graphics2D) g;... } }
6 Metodo paintcomponent Invocato automaticamente ogni volta che una componente necessita di essere ridisegnata quando una finestra viene resa visibile la prima volta quando una finestra viene ridimensionata quando una finestra diviene nuovamente visibile dopo essere stata nascosta (setvisible(false)) Le istruzioni di disegno sono inserite in questo metodo
7 Disegnare forme Graphics ci consente di manipolare lo stato grafico (ad es. colore). Classe astratta. Graphics2D: astratta, estende Graphics, ha metodi per tracciare forme grafiche Cast a Graphics2D del parametro Graphics serve per usare metodo draw Graphics e Graphics2D sono in java.awt
8 Esempio: disegnare rettangoli in un frame
9 Classi del programma RectangleComponent: riscrive metodo paintcomponent per tracciare rettangoli nella maniera voluta RectangleViewer: contiene il metodomain che costruisce un frame aggiunge una componente al frame e rende il frame visibile
10 File RectangleComponent.java 01: import java.awt.graphics; import java.awt.graphics2d; 02: import java.awt.rectangle; import javax.swing.jcomponent; 03: 04: // A component that draws two rectangles. 05: public class RectangleComponent extends JComponent{ 06: public void paintcomponent(graphics g){ 07: 08: // Recover Graphics2D 09: Graphics2D g2 = (Graphics2D) g; 10: 11: // Construct a rectangle and draw it 12: Rectangle box = new Rectangle(5, 10, 20, 30); 13: g2.draw(box); 14: 15: // Move rectangle 15 units to the right and 25 units down 16: box.translate(15, 25); 17: 18: // Draw moved rectangle 19: g2.draw(box); 20: } 21: }
11 File RectangleViewer.java 01: import javax.swing.jframe; 02: 03: public class RectangleViewer 04: { 05: public static void main(string[] args) 06: { 07: JFrame frame = new JFrame(); 08: 09: final int FRAME_WIDTH = 300; 10: final int FRAME_HEIGHT = 400; 12: frame.setsize(frame_width, FRAME_HEIGHT); 13: frame.settitle("two rectangles"); 14: frame.setdefaultcloseoperation(jframe.exit_on_close); 15: 16: RectangleComponent component =newrectanglecomponent(); 17: frame.add(component); 18: 19: frame.setvisible(true); 20: } 21: }
12 Ricapitoliamo i passi 1. Istanzia un frame e settare parametri (ampiezza, altezza, titolo, etc) JFrame frame = new JFrame(); frame.setsize(frame_width, FRAME_HEIGHT); frame.settitle("two rectangles"); frame.setdefaultcloseoperation(jframe.exit_on_close); 2. Istanzia una componente: RectangleComponent component = new RectangleComponent(); 3. Aggiungi la componente al frame frame.add(component); 4. Rendi il frame visibile frame.setvisible(true)
13 Applet Le applet sono programmi che vengono eseguiti in un web browser (analogo di JComponent) Per implementare una applet: import javax.swing.japplet; public class MyApplet extends JApplet { public void paint(graphics g) { // Recover Graphics2D Graphics2D g2 = (Graphics2D) g; // Drawing instructions go here... } }
14 Applet Rispetto alle componenti: 1. Si estende JApplet invece di JComponent 2. Il codice per tracciare il disegno viene messo nel metodo paint anzicché paintcomponent Per eseguire una applet, si deve scrivere un file HTML con un tag applet
15 File RectangleApplet.java 01: import java.awt.graphics; 02: import java.awt.graphics2d; 03: import java.awt.rectangle; 04: import javax.swing.japplet; 05: 06: /** 07: An applet that draws two rectangles. 08: */ 09: public class RectangleApplet extends JApplet 10: { 11: public void paint(graphics g) 12: { 13: // Prepare for extended graphics 14: Graphics2D g2 = (Graphics2D) g;
16 File RectangleApplet.java 15: 16: // Construct a rectangle and draw it 17: Rectangle box = new Rectangle(5, 10, 20, 30); 18: g2.draw(box); 19: 20: // Move rectangle 15 units to the right and 25 units // down 21: box.translate(15, 25); 22: 23: // Draw moved rectangle 24: g2.draw(box); 25: } 26: } 27:
17 Applet Un file HTML può avere applet multiple si aggiunge un tag applet per ogni applet Si possono visualizzare le applet con un applet viewer o con un browser con Java abilitato appletviewer RectangleApplet.html File RectangleApplet.html: <applet code="rectangleapplet.class" width="300" height="400" > </applet>
18 Output con appletviewer
19 Applet con browser File RAppletExplained.html: <html> <head> <title>two rectangles</title> </head> <body> <p>here is my <i>first applet</i>:</p> <applet code="rectangleapplet.class" width="300" height="400"> </applet> </body> </html>
20 Forme grafiche Le classi Rectangle, Ellipse2D.Double, e Line2D.Double descrivono forme grafiche Classi.Float esprimono coordinate in float Queste classi.double e.float sono classi interne (static) di Ellipse2D e Line2D fare attenzione con l istruzione import: import java.awt.geom.ellipse2d; // no.double Una forma deve essere istanziata e tracciata Ellipse2D.Double ellipse = new Ellipse2D.Double(x, y, width, height); g2.draw(ellipse);
21 Classi interne static (nested top-level class) Sono definite come membri della classe (fuori dai metodi) e si usa lo specificatore static Rispetto alle classi interne non static non devono essere istanziate necessariamente in un oggetto della classe ospitante Possono essere istanziate in altre classi indipendentemente dalla classe in cui sono definite (da questo punto di vista sono classi a tutti gli effetti) Sono un modo conveniente per raggruppare classi tra di loro collegate senza creare un nuovo package Es.: Ellipse2D.Double e Ellipse2D.Float
22 Significato dei parametri di Ellipse
23 Istanziare oggetti Line2D Passiamo coordinate estremi: Line2D.Double segment = new Line2D.Double(x1, y1, x2, y2); oppure gli estremi stessi: Point2D.Double from = new Point2D.Double(x1, y1); Point2D.Double to = new Point2D.Double(x2, y2); Line2D.Double segment = new Line2D.Double(from, to);
24 Tracciare oggetti di tipo String g2.drawstring("message", 50, 100); Coordinate punto base (entrambe int oppure float)
25 Colori Colori standard Color.BLUE, Color.RED, Color.PINK, etc. (costanti) Altri colori si possono ottenere combinando rosso, verde e blu dando per ognuno dei valori compresi tra 0.0F e 1.0F Ad es.: Color magenta = newcolor(1.0f, 0.0F, 1.0F); Stabilire i colori in un contesto grafico g2.setcolor(magenta); Color è usato quando si tracciano e riempiono forme grafiche g2.fill(rectangle); // riempe con il colore corrente
26 Disegnare figure complesse Consiglio: definire una classe per ogni forma class Car {... public void disegna(graphics2d g2) { // Drawing instructions... } } Per figure complesse determinare le coordinate con disegni su foglio quadrettato
27 Disegno auto
28 Applicazione grafica Disegna due auto: una nell angolo in alto a sinistra l altra nell angolo in basso a destra Calcola la posizione in basso a destra nel metodo paintcomponent: int x = getwidth() - 60; int y = getheight() - 30; Car car2 = new Car(x, y); getwidth e getheight sono invocate sull oggetto che esegue paintcomponent se la taglia della finestra è modificata, paintcomponent è invocata nuovamente e la posizione delle auto è ricalcolata
29 Output desiderato
30 File CarComponent.java 01: import java.awt.graphics; 02: import java.awt.graphics2d; 03: import javax.swing.jcomponent; 04: 05: // This component draws two car shapes. 06: public class CarComponent extends JComponent 07: { 08: public void paintcomponent(graphics g) 09: { 10: Graphics2D g2 = (Graphics2D) g; 11: Car car1 = new Car(0, 0); 12: 13: intx = getwidth() - Car.WIDTH; 14: inty = getheight() - Car.HEIGHT; 15: 16: Car car2 =newcar(x, y); 17: 18: car1.disegna(g2); 19: car2.disegna(g2); 20: } 21: }
31 File Car.java 01: import java.awt.graphics2d; 02: import java.awt.rectangle; 03: import java.awt.geom.ellipse2d; 04: import java.awt.geom.line2d; 05: import java.awt.geom.point2d; 06: 07: /** 08: A car shape that can be positioned anywhere on the screen. 09: */ 10: public class Car 11: { 12: /** 13: Constructs a car with a given top left corner x the x coordinate of the top left corner y the y coordinate of the top left corner 16: */
32 File Car.java 17: public Car(int x, int y) 18: { 19: xleft = x; 20: ytop = y; 21: } 22: 23: /** 24: Draws the car. g2 the graphics context 26: */ 27: public void disegna(graphics2d g2) 28: { 29: Rectangle body 30: = new Rectangle(xLeft, ytop + 10, 60, 10); 31: Ellipse2D.Double fronttire 32: = new Ellipse2D.Double(xLeft + 10, ytop + 20, 10, 10); 33: Ellipse2D.Double reartire
33 File Car.java 34: = new Ellipse2D.Double(xLeft + 40, ytop + 20, 10, 10); 35: 36: // The bottom of the front windshield 37: Point2D.Double r1 38: = new Point2D.Double(xLeft + 10, ytop + 10); 39: // The front of the roof 40: Point2D.Double r2 41: = new Point2D.Double(xLeft + 20, ytop); 42: // The rear of the roof 43: Point2D.Double r3 44: = new Point2D.Double(xLeft + 40, ytop); 45: // The bottom of the rear windshield 46: Point2D.Double r4 47: = new Point2D.Double(xLeft + 50, ytop + 10); 48: 49: Line2D.Double frontwindshield 50: = new Line2D.Double(r1, r2);
34 File Car.java 51: Line2D.Double rooftop 52: = new Line2D.Double(r2, r3); 53: Line2D.Double rearwindshield 54: = new Line2D.Double(r3, r4); 55: 56: g2.draw(body); 57: g2.draw(fronttire); 58: g2.draw(reartire); 59: g2.draw(frontwindshield); 60: g2.draw(rooftop); 61: g2.draw(rearwindshield); 62: } 63: 64: public static int WIDTH = 60; 65: public static int HEIGHT = 30; 66: private int xleft; 67: private int ytop; 68: }
35 File CarViewer.java 01: import javax.swing.jframe; 02: 03: public class CarViewer 04: { 05: public static void main(string[] args) 06: { 07: JFrame frame = new JFrame(); 08: 09: final int FRAME_WIDTH = 300; 10: final int FRAME_HEIGHT = 400; 11: 12: frame.setsize(frame_width, FRAME_HEIGHT); 13: frame.settitle("two cars"); 14: frame.setdefaultcloseoperation(jframe.exit_on_close); 15: 16: CarComponent component = new CarComponent(); 17: frame.add(component); 18: 19: frame.setvisible(true); 20: } 21:}
36 Disegnare forme grafiche Rectangle leftrectangle = new Rectangle(100, 100, 30, 60); Rectangle rightrectangle = new Rectangle(160, 100, 30, 60); Line2D.Double topline = new Line2D.Double(130, 100, 160, 100); Line2D.Double bottomline = new Line2D.Double(130, 160, 160, 160);
37 Ricevere testo in input Un applicazione grafica può ricevere testo in input classe JOptionPane Il metodo showinputdialog visualizza un prompt e attende l input dall utente restituisce la stringa digitata dall utente String input = JOptionPane.showInputDialog("Enter x"); double x = Double.parseDouble(input);
38 Esercizio Si vuole generare un quadrato del colore specificato dall utente al centro del frame
39 File ColorViewer.java 01: import java.awt.color; 02: import javax.swing.jframe; 03: import javax.swing.joptionpane; 04: 05: public class ColorViewer 06: { 07: public static void main(string[] args) 08: { 09: JFrame frame = new JFrame(); 10: 11: final int FRAME_WIDTH = 300; 12: final int FRAME_HEIGHT = 400; 13: 14: frame.setsize(frame_width, FRAME_HEIGHT); 15: frame.setdefaultcloseoperation(jframe.exit_on_close); 16: 17: String input; 18:
40 File ColorViewer.java 19: // Ask the user for red, green, blue values 20: 21: input = JOptionPane.showInputDialog("red:"); 22: double red = Double.parseDouble(input); 23: 24: input = JOptionPane.showInputDialog("green:"); 25: double green = Double.parseDouble(input); 26: 27: input = JOptionPane.showInputDialog("blue:"); 28: double blue = Double.parseDouble(input); 29: 30: Color fillcolor = new Color( 31: (float) red, (float) green, (float) blue); 32: ColoredSquareComponent component 33: = new ColoredSquareComponent(fillColor); 34: frame.add(component); 35: 36: frame.setvisible(true); 37: } 38: }
41 File ColoredSquareComponent.java 01: import java.awt.color; 02: import java.awt.graphics; 03: import java.awt.graphics2d; 04: import java.awt.rectangle; 05: import javax.swing.jcomponent; 06: 07: /** 08: A component that shows a colored square. 09: */ 10: public class ColoredSquareComponent extends JComponent 11: { 12: /** 13: Constructs a component that shows a colored square. acolor the fill color for the square 15: */ 16: public ColoredSquareComponent(Color acolor)
42 File ColoredSquareComponent.java 17: { 18: fillcolor = acolor; 19: } 20: 21: public void paintcomponent(graphics g) 22: { 23: Graphics2D g2 = (Graphics2D) g; 24: 25: // Select color into graphics context 26: 27: g2.setcolor(fillcolor); 28: 29: // Construct and fill a square whose center is 30: // the center of the window 31:
43 File ColoredSquareComponent.java 32: final int SQUARE_LENGTH = 100; 33: 34: Rectangle square = new Rectangle( 35: (getwidth() - SQUARE_LENGTH) / 2, 36: (getheight() - SQUARE_LENGTH) / 2, 37: SQUARE_LENGTH, 38: SQUARE_LENGTH); 39: 40: g2.fill(square); 41: } 42: 43: private Color fillcolor; 44: }
44 Informazione visuale e numerica Calcola l intersezione tra un cerchio e una linea verticale Il cerchio ha raggio r = 100 e centro (a, b) = (100, 100) La linea ha un valore costante x
45 Informazione visuale e numerica Calcola i punti di intersezione: Equazione di un cerchio di raggio r e centro (a, b) Se x è nota, possiamo calcolare y:
46 Informazione visuale e numerica Si può calcolare facilmente in Java: double root = Math.sqrt(r * r - (x - a) * (x - a)); double y1 = b + root; double y2 = b - root; Traccia il cerchio, la linea e i punti di intersezione calcolati I risultati visuali e numerici dovrebbero essere consistenti
47 Intersezione di una linea e un cerchio
48 File IntersectionViewer.java 01: import javax.swing.jframe; 02: import javax.swing.joptionpane; 03: 04: public class IntersectionViewer 05: { 06: public static void main(string[] args) 07: { 08: JFrame frame = new JFrame(); 09: 10: final int FRAME_WIDTH = 300; 11: final int FRAME_HEIGHT = 400; 12: 13: frame.setsize(frame_width, FRAME_HEIGHT); 14: frame.setdefaultcloseoperation(jframe.exit_on_close); 15:
49 File IntersectionViewer.java 16: String input = JOptionPane.showInputDialog("Enter x"); 17: double x = Double.parseDouble(input); 18: IntersectionComponent component 19: = new IntersectionComponent(x); 20: frame.add(component); 21: 22: frame.setvisible(true); 23: } 24: }
50 File IntersectionComponent.java 01: import java.awt.graphics; 02: import java.awt.graphics2d; 03: import java.awt.geom.ellipse2d; 04: import java.awt.geom.line2d; 05: import javax.swing.jcomponent; 06: 07: /** 08: A component that computes and draws the intersection points 09: of a circle and a line. 10: */ 11: public class IntersectionComponent extends JComponent 12: { 13: /** 14: Constructs the component from a given x-value for the line anx the x-value for the line (between 0 and 200) 16: */
51 File IntersectionComponent.java 17: public IntersectionComponent(double anx) 18: { 19: x = anx; 20: } 21: 22: public void paintcomponent(graphics g) 23: { 24: Graphics2D g2 = (Graphics2D) g; 25: 26: // Draw the circle 27: 28: final double RADIUS = 100; 29: 30: Ellipse2D.Double circle 31: = new Ellipse2D.Double(0, 0, 2 * RADIUS, 2 * RADIUS); 32: g2.draw(circle); 33: 34: // Draw the vertical line 35:
52 File IntersectionComponent.java 36: Line2D.Double line 37: = new Line2D.Double(x, 0, x, 2 * RADIUS); 38: g2.draw(line); 39: 40: // Compute the intersection points 41: double a = RADIUS; 42: double b = RADIUS; 43: 44: double root = Math.sqrt(RADIUS * RADIUS - (x a) * (x-a)); 45: double y1 = b + root; 46: double y2 = b - root; 47: 48: // Draw the intersection points 49: LabeledPoint p1 = new LabeledPoint(x, y1); 50: LabeledPoint p2 = new LabeledPoint(x, y2); 51: 52: p1.disegna(g2); 53: p2.disegna(g2); 54: } 55: 56: private double x; 57: }
53 File LabeledPoint.java 01: import java.awt.graphics2d; 02: import java.awt.geom.ellipse2d; 03: 04: /** 05: A point with a label showing the point's coordinates. 06: */ 07: public class LabeledPoint 08: { 09: /** 10: Construct a labeled point. anx the x coordinate ay the y coordinate 13: */ 14: public LabeledPoint(double anx, double ay) 15: { 16: x = anx; 17: y = ay; 18: }
54 File LabeledPoint.java 19: 20: /** 21: Draws the point as a small circle with a coordinate label. g2 the graphics context 23: */ 24: public void disegna(graphics2d g2) 25: { 26: // Draw a small circle centered around (x, y) 27: 28: Ellipse2D.Double circle = new Ellipse2D.Double( 29: x - SMALL_CIRCLE_RADIUS, 30: y - SMALL_CIRCLE_RADIUS, 31: 2 * SMALL_CIRCLE_RADIUS, 32: 2 * SMALL_CIRCLE_RADIUS); 33: 34: g2.draw(circle); 35: 36: // Draw the label
55 File LabeledPoint.java 37: 38: String label = "(" + x + "," + y + ")"; 39: 40: g2.drawstring(label, (float) x, (float) y); 41: } 42: 43: private static final double SMALL_CIRCLE_RADIUS = 2; 44: 45: private double x; 46: private double y; 47: }
In Java esistono tre tipi di programmi
Applet Introduzione In Java esistono tre tipi di programmi Applicazioni da console Eseguiti da linea di comando Applicazioni grafiche Usano finestre, pulsanti, menu, caselle di controllo, etc Applet Contenuti
Capitolo 3. Realizzare classi. Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione
Capitolo 3 Realizzare classi Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Obiettivi del capitolo Acquisire familiarità con il procedimento di realizzazione di classi Essere
Introduzione a Classi e Oggetti
Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto
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 prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete
La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication
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
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
Programmazione Java: Interfacce grafiche (GUI)
Programmazione Java: Interfacce grafiche (GUI) [email protected] http://www.di.univaq.it/romina.eramo/tlp ( 1 ) (GUI) Interfacce grafiche Rendere facili le cose semplici e possibili le cose difficili
GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C
GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.
APPLICAZIONI & APPLET
APPLICAZIONI & APPLET Java è un ottimo linguaggio per costruire applicazioni anche non per Internet anche non grafiche ma si è diffuso storicamente, e trae forza, dal concetto di applet come piccola (?)
Le basi della grafica in Java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni
Le basi della grafica in Java Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni Elaborazione classica o imperativa L elaborazione è concentrata nel momento centrale, durante
Tutorial di HTML basato su HTML 4.0 e CSS 2
Claudia Picardi Tutorial di HTML basato su HTML 4.0 e CSS 2 Informatica II per Scienze e Turismo Alpino Docenti: Viviana Patti e Claudia Picardi 4 Tabelle 4.1 La struttura di una tabella Elementi principali
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Thread versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Concetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
Java: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
Struttura di un programma Java
Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che
La struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
GESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
Guida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:
Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente
Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012
Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono
Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»
Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet Prof. Franco Zambonelli Lucidi realizzati in collaborazione
Programmazione a Oggetti Lezione 10. Ereditarieta
Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare
Applicazioni grafiche
Applicazioni grafiche I grafici all interno di un form sono realizzati attraverso gli oggetti del namespace System.Drawing. Graphics. Il namespace è incluso automaticamente nel progetto, quindi non è necessaria
Programmazione ad oggetti
DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Informazioni generali Docente: Samuel Rota Bulò @email: [email protected] Homepage: http://www.dais.unive.it/~srotabul/ ooprogramming2012.html
MANUALE D USO DELLA PIATTAFORMA ITCMS
MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di
Capitolo 4 Pianificazione e Sviluppo di Web Part
Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,
GEOGEBRA I OGGETTI GEOMETRICI
GEOGEBRA I OGGETTI GEOMETRICI PROPRIETA : Finestra Proprietà (tasto destro mouse sull oggetto) Fondamentali: permette di assegnare o cambiare NOME, VALORE, di mostrare nascondere l oggetto, di mostrare
E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools
Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati
HTML 6. I frame. Sintassi di base. I frame e DOCTYPE FRAME. ...head... <FRAMESET lista_attributi> <FRAME SRC= URL lista_attributi>
FRAME HTML 6 I frame Danno la possibilità di creare finestre multiple all'interno della finestra del browser Si riesce a suddividere la pagina in più sezioni indipendenti, ma che si possono influenzare
4. Un ambiente di sviluppo per Java
pag.15 4. Un ambiente di sviluppo per Java Esistono in commercio molti ambienti di sviluppo utilizzati dai programmatori Java, in particolare si tratta di editor complessi che mettono a disposizione tools
Programmazione Java: Variabili membro, Metodi La parola chiave final
Programmazione Java: Variabili membro, Metodi La parola chiave final [email protected] http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave
3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1
Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se
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
Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
Utilizzo Software Bob-Cad Lavorazione pezzi in 3D
Utilizzo Software Bob-Cad Lavorazione pezzi in 3D Esempio Superficie Sculturata Si costruisca una superficie 3D tabulando una curva ottenuta mediante un fillet dei due archi di circonferenza di centro
Corso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA5 B1 Gestione eventi 1 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti AWT o Swing Programmazione ad eventi 2 1 Introduzione Le interfacce create
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.
Testo Esercizio Si consideri la realizzazione di un semplice programma grafico per il disegno di figure geometriche in due dimensioni. Si analizzino i requisiti e se ne rappresentino i risultati in UML
Excel. A cura di Luigi Labonia. e-mail: [email protected]
Excel A cura di Luigi Labonia e-mail: [email protected] Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
Eclipse. Avviare un progetto e compilare un semplice programma
Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice
Le variabili. Olga Scotti
Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.
Esercizio 1. Nella Tabella A sono riportati i tempi di percorrenza, in minuti, di un tratto autostradale da parte di 40 autoveicoli.
Esercizio 1 Nella Tabella A sono riportati i tempi di percorrenza, in minuti, di un tratto autostradale da parte di 40 autoveicoli. Tabella A 138 150 144 149 164 132 125 157 161 135 150 145 145 142 156
Personalizza. Page 1 of 33
Personalizza Aprendo la scheda Personalizza, puoi aggiungere, riposizionare e regolare la grandezza del testo, inserire immagini e forme, creare una stampa unione e molto altro. Page 1 of 33 Clicca su
Inizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
Livelli di astrazione
Realizzare Classi Astrazione Perdita di dettaglio Utile nella descrizione, progettazione, implementazione e utilizzo di sistemi complessi Dettagli trascurabili vengono incapsulati in sottosistemi più semplici
Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD
Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione
I file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
UML Diagrammi delle classi. UML Diagramma classi 1
UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio
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)
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
User Tools: DataBase Manager
Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview
Ottava Esercitazione. introduzione ai thread java mutua esclusione
Ottava Esercitazione introduzione ai thread java mutua esclusione Agenda Esempio 1 Concorrenza in Java: creazione ed attivazione di thread concorrenti. Esercizio 2 da svolgere Concorrenza in Java: sincronizzazione
lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000
Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,
Come costruire una distribuzione di frequenze per caratteri quantitativi continui
Come costruire una distribuzione di frequenze per caratteri quantitativi continui Consideriamo i dati contenuti nel primo foglio di lavoro (quello denominato dati) del file esempio2.xls. I dati si riferiscono
GERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
Esercizi della lezione 5 di Java
Esercizi della lezione 5 di Java Esercizio 5 Create il tipo di dato Counter dell Esercizio 1 come sottoclasse del tipo di dato SimpleCounter. Esercizio 1 Create un tipo di dato Counter che abbia: un valore
ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];
ARRAY BIDIMENSIONALI Si possono definire array di qualunque tipo di dato, quindi anche di altre array float [][] mx = new float[3][4]; ovvero.. (float []) [] mx = new float[3][4]; La loro motivazione (storica)
La codifica delle immagini
Analogamente possiamo codificare le immagini a colori. In questo caso si tratta di individuare un certo numero di sfumature, gradazioni di colore differenti e di codificare ognuna mediante un'opportuna
Configurare TPTP in Eclipse e testare un applicazione
Configurare TPTP in Eclipse e testare un applicazione Questa guida concentra la sua attenzione sul tool TPTP (Test & Performance Tools Platform) presente nell ambiente di sviluppo Eclipse. Verrà descritta
Java: la libreria delle classi
Java: la libreria delle classi Applet anatomia di un applet cenni di html La libreria JDBC per l accesso ai database il package java.sql 213 Applet Un applet è una applicazione Java che ha una forma particolare
Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015
Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle
Definire gli attributi dei blocchi
Definire gli attributi dei blocchi Attributi:Informazioni associate ad un blocco Definire gli attributi Menu: Disegna Blocco Attributo Comando: DEFATT Utilizzo riga di comando: -DEFATT Note Lo stile di
Corso di Programmazione ad Oggetti
Corso di Programmazione ad Oggetti Il meccanismo dell ereditarietà a.a. 2008/2009 Claudio De Stefano 1 L ereditarietà consente di definire nuove classi per specializzazione o estensione di classi preesistenti,
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
UTILIZZO DEI CSS. categoria e lente possiamo aggregare le istruzioni inserite ed avere infondo alla colonna stessa un anteprima.
UTILIZZO DEI CSS FOGLI STILE Il CSS consente di associare regole stilistiche agli elementi del codice HTML come o . Queste regole definiscono l aspetto rappresentativo degli elementi HTML a cui
Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo
Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato
Guida informatica per l associazione #IDEA
Guida informatica per l associazione #IDEA Questa guida vi spiegherà come utilizzare al meglio gli strumenti informatici che utilizza l associazione #IDEA in modo da facilitare il coordinamento con tutti
Uso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali
PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video
Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
MECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
Test di unità con JUnit4
Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso
Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
Introduzione a ROOT. 1. Informazioni generali
Introduzione a ROOT 1. Informazioni generali ROOT è un ambiente visualizzazione e trattamento dati interattivo sviluppato al CERN (si veda il sito ufficiale http://root.cern.ch interamente sviluppato in
Appunti di Informatica www.mimmocorrado.it 1
Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il
Classi astratte. Master in Web Technology e Security luglio - settembre 2000. Interfacce
Master in Web Technology e Security luglio - settembre 2000 JAVA Alberto Martelli Parte III Programmazione grafica Classi astratte Vogliamo implementare un algoritmo di ordinamento di un array che sia
Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: http:// sdfonline.unimc.it/info/modulo.jsp;
JAVA SERVER PAGES Una pagina JSP (Java Server Pages), richiesta da un utente (client), viene eseguita dal server web nella propria memoria; generalmente il prodotto dell elaborazione è una pagina html
Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
Eclipse - Nozioni Base
Eclipse - Nozioni Base Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
Gruppi di Thread. Java threads (3) Gruppi di thread e Timer. Operating Systems. Operating Systems. Java threads 3. Java threads 3
Java threads (3) Gruppi di thread e Timer emanuele lattanzi isti information science and technology institute 1/12 Gruppi di Thread emanuele lattanzi isti information science and technology institute 2/12
Multithreading in Java. Fondamenti di Sistemi Informativi 2014-2015
Multithreading in Java Fondamenti di Sistemi Informativi 2014-2015 Multithreading La programmazione concorrente consente di eseguire più processi o thread nello stesso momento. Nel secondo caso si parla
