Guida alla programmazione delle GUI, interfacce grafiche in Java 2D - 16: disegnare forme geometriche elementari
Capitolo 16: Il disegno di base in Java2D: forme geometriche elementari.
La classe Graphics mette a disposizione una serie di metodi (da invocare all'interno di paintComponent) per disegnare forme geometriche elementari, sia vuote che piene:
| drawLine(int x1, int y1, int x2, int y2) : void |
Disegna un segmento con vertici in (x1, y1) e in (x2, y2). |
| drawRect(int x, int y, int width, int height) : void |
Disegna un rettangolo con vertice in alto a sinistra nel punto di coordinata (x,y). |
| drawOval(int x, int y, int width, int height) : void |
Disegna un ovale con vertice in alto a sinistra dell'ipotetico 'box' che lo racchiude nel punto di coordinata (x,y). |
| drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) : void |
Disegna un rettangolo dai bordi arrotondati con vertice in alto a sinistra nel punto di coordinata (x,y). |
| drawPolygon(Polygon p) : void |
Disegna un oggetto Polygon (un poligono); vd. in seguito per la definizione di tale oggetto. |
| drawPolygon(int[] xCoord, int[] yCoord, int npoints); : void |
Disegna un poligono 'definito al volo', formato da npoints vertici; ciascun vertice avrà coordinata (xCoord[i], yCoord[i]); il metodo scorrerà i due array per recuperare i valori delle coordinate per npoints vertici. |
| drawPolyline(int[] xCoord, int[] yCoord, int npoints); : void |
Disegna una spezzata formata da n vertici; ciascun vertice avrà coordinata (xCoord[i], yCoord[i]); il metodo scorrerà i due array per recuperare i valori delle coordinate per npoints vertici. |
| drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) : void |
Disegna un arco. |
NOTA: utilizzando, come parametri di drawLine, i valori:
potremo disegnare un punto (una linea dove vertice di partenza e di arrivo coincidono: un punto :-) ).
Per disegnare un cerchio, utilizzare drawOval con valori uguali per i parametri width ed height.
Per disegnare forme piene (rettangoli colorati, ....), possiamo utilizzare invece i metodi:
| fillRect(int x, int y, int width, int height) : void |
Disegna un rettangolo pieno. |
| fillRoundRect(int x, int y, int height, int arcwidth, int archeight) : void |
Disegna un rettangolo dai bordi arrotondati pieno. |
| fillOval(int x, int y, int width, int height) : void |
Disegna un ovale pieno (impostare valori di width ed height uguali per disegnare un cerchio pieno). |
| fillPolygon(Polygon p) : void |
Disegna un poligono pieno. |
| fillPolygon(int[] x, int[] y, int npoints) : void |
Disegna un poligono definito 'al volo' pieno. |
| fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) : void |
Disegna un arco pieno. |
Il colore di riempimento sarà l'ultimo colore impostato per il contesto grafico con il metodo di Graphics:
(default: nero, con Alpha a 1).
NOTA sulla classe Polygon: con tale classe è possibile definire dei poligoni, considerati successioni di coppie di vertici di coordinate x e y.
Polygon ha due costruttori:
- Polygon(), per definire un poligono i cui vertici andranno impostati in seguito;
- Polygon(int[] xpoints, int[] ypoints, int npoint), per definire un poligono di npoints vertici, con ciascun vertice che avrà coordinate (xpoints[i], ypoints[i]).
Polygon mette a disposizione vari metodi utili, ma per un elenco completo degli stessi rimando alle API di java.awt.
|