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

Guida Java 2D - Capitolo 15: Il disegno di base in Java2D: testo e font.

 

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 'Font names' 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).

 

 

 
Vai all'inizio della pagina