• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
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 appartengonoal 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 seguentefirma:
protected void 
paintComponent
(Graphics g)In Java tutti i disegni sono essere gestiti dal sistema attraverso un oggettoGraphics, che il programmatore non manipola direttamente.Il metodo paintComponent viene chiamato automaticamente quando una parte diun componente deve essere ridisegnata; il programmatore non deve interferirecon questo processo automatico.Il metodo paintComponent, quando ridefinito nella sottoclasse, deve semprecontenere come prima istruzione la chiamata al metodo paintComponent dellasuperclasse. Per esempio:public voidpaintComponent(Graphics g) {super.paintComponent(g); //segue il codice per il disegno}Il chiamante può ordinare di ridisegnare il pannello, o più in generale uncomponente, 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 superioresinistro coincide con il punto di coordinate (x,y), utilizzando il colorecorrentemente impostato.
public void
drawRoundRect
(int x, int y, int larghezza, int altezza, intlarghArea, int altArea)Disegna un rettangolo di larghezza e altezza specificate e il cui vertice superioresinistro coincide con il punto di coordinate (x,y), utilizzando il colorecorrentemente impostato. Il rettangolo ha gli angoli arrotondati. I parametrilarghArea e altArea definiscono larghezza e altezza dell'area con gli angoliarrotondati: 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 cuivertice superiore sinistro coincide con il punto di coordinate (x,y), utilizzando ilcolore 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 colorecorrentemente impostato.
public void
fillRect
(int x, int y, int larghezza, int altezza)Disegna un rettangolo di larghezza e altezza specificate e il cui vertice superioresinistro coincide con il punto di coordinate (x,y). Il rettangolo viene riempito conil 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 superioresinistro coincide con il punto di coordinate (x,y). Il rettangolo viene riempito conil colore correntemente impostato e ha gli angoli arrotondati. I parametrilarghArea e altArea definiscono larghezza e altezza dell'area con gli angoliarrotondati: 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 cuivertice superiore sinistro coincide con il punto di coordinate (x,y). L'ovale vieneriempito 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
 
= 10;
 public
 
static
 
final
 
int
 
= 10;
 public
 
static
 
final
 
int
 
= 100;
 public
 
static
 
final
 
int
 
= 150;
 public
 
 void 
paintComponent(Graphics g){
super
.paintComponent(g);g.drawRect(
,
,
,
);}}
Autore: Cinzia BocchiUltimo aggiornamento: 10/10/2011
3
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...