1) In java si accede alle primitive per il disegno 2D attraverso l'oggetto Graphics, passato ad un evento paint() di un qualunque coponente. Il metodo piu' semplice per potervi accedere e' modificiare l'evento paint() di una finestra. Aprire il file Disegno.java, con l'apertare di una finestra ed il richiamo del metodo paint() gia' preimpostati. Notare come in esso l'oggetto Graphics venga subito trasformato in Graphics2D per poter accedere alle primitive 2D. 2) Tutte le primitive si disegnano creando degli oggetti derivati dalla classe Shape. Utilizzando quindi il metodo draw() dell'oggetto Graphics2D, e' possibile rappresentarla. Usare il comando: g2.draw(new Line2D.Double(30.0, 300.0, 770.0, 300.0)); per disegnare un segmento tra due estremi. Notare il .Double . Questo perche' tutte le primitive geometriche sono disponibili sia in versione a precisione singola (.Float), che a doppia precisione (.Double) 3) Il colore di un oggetto si specifica con il comando setPaint(), a cui si passa un oggetto di tipo Color() nel cui costruttore si possono specificare i valori delle componenti RGB di un colore come numero float tra 0.0f e 1.0f : g2.setPaint(new Color(1.0f, 0.0f, 0.0f)); 4) Il tratto si specifica con setStroke() a cui si passa un oggetto BasicStroke che lo definisce. Anche se e' possibile creare tratteggi come in SVG, il costruttore piu' semplice permette di specificare lo spessore della riga: g2.setStroke(new BasicStroke(5.0f)); tratti e colori venogno memorizzati in uno stato all'interno dell'oggetto Graphics2D e rimangono tali fino a quando non sono cambiati nuovamente. 5) I rettangoli si disgneano come oggetti Rectangle2D: g2.draw(new Rectangle2D.Double(20.0, 80.0, 180.0, 180.0)); 6) Nel caso di oggetti "pieni", si usa draw per il contorno, e fill() per disegnare l'interno. Il colore di riempimento e' sempre quello impostato nell'ultimo setPaint effettuato. Ad esempio per "riempire" il rettangolo si puo' usare: g2.fill(new Rectangle2D.Double(21.0, 81.0, 179.0, 179.0)); 7) I rettangoli arrotondati si definiscono con RoundRectangle2D: g2.draw(new RoundRectangle2D.Double(220.0, 80.0, 180.0, 180.0, 20.0, 20.0)); 8) Non c'e' una primitiva specifica per i cerchi. Si possono solamente disegnare ellissi: g2.draw(new Ellipse2D.Double(420.0, 80.0, 280.0, 180.0)); Notare come in questo caso un ellisse venga specificato con le dimensioni del rettangolo in cui esso e' inscritto. 9) Le curve di Bezier si specificano attraverso l'oggetto CubicCurve2D: g2.draw(new CubicCurve2D.Double(100.0, 100.0, 200.0, 200.0, 300.0, 200.0, 400.0, 100.0)); 10) I poligoni si creano attravero i percorsi, a partire da oggetti di tipo Path2D. Questi oggetti hanno il metodo moveTo() per posizionare il "cursore" in un punto specifico dello schermo, e lineTo() tracciare un segmento. Per chiudere il poligon si puo' utilizzare il metodo closePath() al termine della curva. Path2D.Double Tri = new Path2D.Double(); Tri.moveTo(20.0, 500.0); Tri.lineTo(120.0, 400.0); Tri.lineTo(220.0, 500.0); Tri.closePath(); g2.draw(Tri); --- Vi sono numerose altre possibilita'. Per una versione piu' dettagliata si rimanda all'indirizzo: http://java.sun.com/docs/books/tutorial/2d/index.html