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 - 15: il disegno di base in Java2D: testo e font

Guida Java 2D, corso di base 

 

La creazione e la visualizzazione a video del testo in Java avviene in (almeno) tre passaggi; è necessario infatti:

  • creare un oggetto Font, che identifica un carattere, per decidere che aspetto dare alla stringa da visualizzare a video;
  • impostare il Font così creato come Font del contesto grafico (tutte le stringhe scritte dopo tale passaggio avranno quel Font, a meno di non cambiare Font impostandone uno differente);
  • visualizzare a video la scritta.

 

 

Per definire un Font è possibile utilizzare il costruttore:

  • Font(String name, int style, int size)   :   Font .

 

Analizziamone i parametri:

  • name identifica il nome del Font; Font predefiniti, riconosciuti da Java, sono ad esempio "Serif" (simile al Times New Roman), "SansSerif" (simile all'Arial) e Monospaced (simile al Courier);
  • style serve ad indicare se il Font deve essere in grassetto (Font.BOLD), in corsivo (Font.ITALIC), corsivo e grassetto (Font.ITALIC + Font.BOLD) o 'semplice', cioè non corsivo e non grassetto (Font.PLAIN);
  • size indica la dimensione, in punti, del carattere, proprio come avviene negli editor di testo (es.: 8, 10, 24, ...).

 

Esempio di definizione di un Font SansSerif corsivo con grandezza 24:

  • Font f = new Font("SansSerif", Font.ITALIC, 24); .

 

 

 

Per impostare il Font appena creato come Font del contesto grafico dovremo utilizzare il metodo di Graphics:

  • setFont(Font f)    :   void .

 

Ad esempio, riprendendo il Font f precedentemente definito, avremo (in paintComponent):

  • g.setFont(f); .

 

A questo punto sappiamo che aspetto avrà la nostra stringa da visualizzare a video, ma non l'abbiamo ancora mostrata; per farlo, utilizziamo - in paintComponent - il metodo di Graphics:

  • drawString(String str, int x, int y);

dove str è la stringa da mostrare a video, mentre  x e y identificano la coordinata x e la coordinata y della posizione che il vertice in alto a sinistra di un ipotetico 'box' che racchiude la nostra scritta avrà nella componente che conterrà la scritta.

 

Ad esempio, scriveremo:

  • g.drawString("Ciao !", 50, 50); .

 

Come potete notare, non abbiamo bisogno di specificare che Font usare: Java utilizzerà l'ultimo Font impostato per il contesto grafico.

 

Una nota finale: per scoprire quali 'Fontnames' sono supportati dal sistema attualmente in uso, potete utilizzare il metodo

  • getAvailableFontFamilyNames()   :    String[]

della classe GraphicsEnvironmente del package AWT; in pratica, dovrete scrivere qualcosa come:

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();

String[] availableFont = ge.getAvailableFontFamilyNames();

 

getAvailableFontFamilyNames restituirà un array di stringhe, per cui potrete ad esempio scorrere tale array per verificare se il Font che volete utilizzare nella vostra applicazione è supportato dal sistema (in caso positivo potrete impostarlo, altrimenti potrete optare per un Font alternativo, se supportato).

 

 

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