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

Page Rank Check    





Ultimi articoli

Capitolo 15: Il disegno di base in Java2D: testo e font.
Guide di programmazione - Java 2D - Guida completa
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 18:38

Guida alla programmazione delle GUI, interfacce grafiche in Java 2D - 15: il disegno di base in Java2D: testo e font


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).

Tags:     programmazione      guide      manuali      corso      j2d      java 2d      gui      interfacce      capitolo 15      testo      font      disegno      text
Ultimo aggiornamento Domenica 22 Gennaio 2012 18:35
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials