Programazione grafica: l’API Graphics
Con il termine programmazione grafica in Java si intende la possibilità di
disegnare forme (rettangoli, ovali, ecc.),
disegnare testo,
impostare i colori per il disegno,
impostare il tipo di font per il testo,all'interno di un contenitore (tipicamente un JPanel).Le classi usate a tale scopo sono:
Graphics
,
Color
e
Font
; tutte appartengono al package java.awt.Per disegnare in un panello è necessario:1.derivare una classe da JPanel;
2.
ridefinire il metodo
paintComponent
di tale classe.Il metodo paintComponent è definito nella classe Jcomponent con la seguente firma:
•
protected void
paintComponent
(Graphics g)In Java tutti i disegni sono essere gestiti dal sistema attraverso un oggetto Graphics, che il programmatore non manipola direttamente.Il metodo paintComponent viene chiamato automaticamente quando una parte di un componente deve essere ridisegnata; il programmatore non deve interferire con questo processo automatico.Il metodo paintComponent, quando ridefinito nella sottoclasse, deve sempre contenere come prima istruzione la chiamata al metodo paintComponent della superclasse. Per esempio:public void paintComponent(Graphics g)
{super.paintComponent(g); //segue il codice per il disegno}Il chiamante può ordinare di ridisegnare il pannello, o più in generale un componente, utilizzando il metodo repaint della classe Component di java.awt:
•
public void
repaint
()
Autore: Cinzia BocchiUltimo aggiornamento: 10/10/2011
1
ObjectFontColor Graphics
Alcuni metodi della classe Graphics
•
public void
drawLine
(int x_inizio, int y_inizio, int x_fine, int y_fine)Disegna una linea che va dal punto (x_inizio,y_inizio) al punto (x_fine,y_fine), utilizzando il colore correntemente impostato.
•
public void
drawRect
(int x, int y, int larghezza, int altezza) Disegna un rettangolo di larghezza e altezza specificate e il cui vertice superiore sinistro coincide con il punto di coordinate (x,y), utilizzando il colore correntemente impostato.
•
public void
drawRoundRect
(int x, int y, int larghezza, int altezza, int larghArea, int altArea) Disegna un rettangolo di larghezza e altezza specificate e il cui vertice superiore sinistro coincide con il punto di coordinate (x,y), utilizzando il colore correntemente impostato. Il rettangolo ha gli angoli arrotondati. I parametri larghArea e altArea definiscono larghezza e altezza dell'area con gli angoli arrotondati: più è grande quest'area, tanto più gli spigoli sono arrotondati.
•
public void
drawOval
(int x, int y, int larghezza, int altezza)Disegna l'ovale inscritto nel rettangolo di larghezza e altezza specificate e il cui vertice superiore sinistro coincide con il punto di coordinate (x,y), utilizzando il colore correntemente impostato.
•
public void
drawString
(String str, int x, int y)Disegna la stringa str a partire dal punto di coordinate (x,y), utilizzando il colore correntemente impostato.
•
public void
fillRect
(int x, int y, int larghezza, int altezza)Disegna un rettangolo di larghezza e altezza specificate e il cui vertice superiore sinistro coincide con il punto di coordinate (x,y). Il rettangolo viene riempito con il colore correntemente impostato.
•
public void
fillRoundRect
(int x, int y, int larghezza, int altezza, int larghArea, int altArea) Disegna un rettangolo di larghezza e altezza specificate e il cui vertice superiore sinistro coincide con il punto di coordinate (x,y). Il rettangolo viene riempito con il colore correntemente impostato e ha gli angoli arrotondati. I parametri larghArea e altArea definiscono larghezza e altezza dell'area con gli angoli arrotondati: più è grande quest'area, tanto più gli spigoli sono arrotondati.
•
public void
fillOval
(int x, int y, int larghezza, int altezza)Disegna l'ovale inscritto nel rettangolo di larghezza e altezza specificate e il cui vertice superiore sinistro coincide con il punto di coordinate (x,y). L'ovale viene riempito con il colore correntemente impostato.
Autore: Cinzia BocchiUltimo aggiornamento: 10/10/2011
2
•
public Color
getColor
()Restituisce il colore impostato per le operazioni di disegno.
•
public Font
getFont
()Restituisce il tipo di font impostato per le operazioni di disegno.
•
public void
setColor
(Color colore)Imposta il colore specificato per tutte le operazioni di disegno successive.
•
public void
setFont
(Font font)Imposta il tipo di font specificato per tutte le operazioni di disegno successive.
Esempio: Disegnare un rettangolo
import
java.awt.BorderLayout;
import
java.awt.Color;
import
java.awt.Container;
import
java.awt.Graphics;
import
javax.swing.JFrame;
import
javax.swing.JPanel;@SuppressWarnings("serial")
public
class
PaintFrame
extends
JFrame {
public
static
final
int
LARGHEZZA
= 300;
public
static
final
int
ALTEZZA
= 300;
public
PaintFrame(){
super
("Rettangolo");setSize(
LARGHEZZA
,
ALTEZZA
);setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE
);Container contentPane = getContentPane();PaintArea panel=
new
PaintArea();panel.setBackground(Color.
white
);contentPane.add(panel,BorderLayout.
CENTER
);}
class
PaintArea
extends
JPanel{
public
static
final
int
X
= 10;
public
static
final
int
Y
= 10;
public
static
final
int
W
= 100;
public
static
final
int
H
= 150;
public
void
paintComponent(Graphics g){
super
.paintComponent(g);g.drawRect(
X
,
Y
,
W
,
H
);}}
Autore: Cinzia BocchiUltimo aggiornamento: 10/10/2011
3
Premia la tua curiosità
Tutto ciò che desideri leggere.
Sempre. Ovunque. Su qualsiasi dispositivo.
Nessun impegno. Annulla in qualsiasi momento.