NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Java 2D - 19: disegno avanzato: il tratto con Stroke e BasicStroke

Guida Java 2D, corso di base 

 

L'interfaccia Stroke e le classi che la implementano ci permettono di impostare diversi stili di pennello.

 

Attualmente, una sola classe di Java2D implementa, in maniera nativa, Stroke: la classe BasicStroke.

 

Costruttori di BasicStroke:

  • BasicStroke();
  • BasicStroke(float width);
  • BasicStroke(float width, int cap, int join);
  • BasicStroke(float width, int cap, int join, float miterlimit);
  • BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase);

 

 

 

La tabella riportata qui sotto descrive i vari parametri utilizzati dai costruttori:

width Lo spessore del tratto, espresso mediante valori float. Deve avere valore maggiore o uguale a 0.0f.
cap Definisce che aspetto dare alle estremità di un segmento. I possibili valori sono espressi mediante costanti predefinite di BasicStroke e possono essere: CAP_BUTT, CAP_ROUND o CAP_SQUARE.
join Definisce che aspetto dare al punto di incontro di due segmenti, qualora se ne presenti l'occasione. I possibili valori sono espressi mediante costanti predefinite di BasicStroke e possono essere: JOIN_ROUND, JOIN_BEVEL o JOIN_MITER.
miterlimit Il limite da utilizzare per 'tagliare' (trim) un join di tipo miter (JOIN_MITER). Deve avere valore maggiore di 1.
dash Array di valori che rappresentano il pattern dei punti.
dash_phase Indica un offset a partire dal quale iniziare a disegnare il pattern dei punti.

 

Per impostare lo stile del pennello per il contesto grafico, utilizzare il metodo di Graphics2D:

setStroke(Stroke s)   :   void

dove il parametro s identifica, appunto, un oggetto di tipo Stroke.

 

Per scoprire qual è lo stile attualmente in uso dal contesto grafico, possiamo utilizzare il metodo di Graphics2D:

getStroke()   :   abstract Stroke

che restituisce, appunto, uno Stroke.

 

Esempio di definizione ed utilizzo di un BasicStroke:

private BasicStroke s = new BasicStroke(5.0f);

// ...

public void paintComponent(Graphics g)

{

super.paintComponent(g);

Graphics2D g2 = (Graphics2D)g;

// ...

g2.setStroke(s);

// ...

}

 

 

Per un elenco completo (lista) dei tutorial e videotutorial su Java, Java 2D, Java 3D e J2ME, clicca qui


 
Libri e eBook sul linguaggio di programmazione Java:
 
 
ebook PDF "Java 3D: guida di base" di Francesco Milanese
 
 
 
 
 

 

 

Pagina di Francesco Milanese (redbaron85) su Facebook   Pagina di Francesco Milanese (redbaron85) su Google Plus   Profilo di Francesco Milanese (redbaron85) su LinkedIn   Pagina di Francesco Milanese (redbaron85) su Twitter   Canale Youtube di Francesco Milanese (redbaron85ct)

Vai all'inizio della pagina