2009-09-16 5 views

risposta

20

Dipende dal look and feel. Se è un'applicazione che hai scritto, prendi i valori da UIManager.getDefaults().getFont("TabbedPane.font")

+1

Sì, grazie, che ha funzionato, anche se hai dimenticato un paio di parentesi: UIManager.getDefaults() GETFONT ("TabbedPane.font") E 'risultato essere Arial Bold, come ho pensato (per che cosa. ne vale la pena). –

+3

Come si determinano i tasti appropriati per altri componenti dello swing? –

+0

Puoi ottenere il font per altri componenti cambiando "TabbedPane" sul tipo di elemento che ti interessa. Ad esempio, ho appena scoperto che "ToolTip.font" è "Dialog". – marklark

1

Può dipendere dal 'look and feel' che si sta utilizzando, ma per me font predefinito di swing è

DejaVu Sans - Plain

Per la maggior parte dei componenti le impostazioni predefinite dimensione del carattere per circa 12 o 13

0

Sembra che sia Arial. Questo è quello che mi dice Identifont e sembra giusto.

3

Il UIManager Defaults mostra quali sono i valori per tutte le proprietà di tutti i componenti (incluso "TabbedPane.font").

3

Sulla base della risposta del reverendo Gonzo, questa parte di codice consente di sapere quali chiavi sono presenti negli UIDefaults. Poiché i tasti sono auto-esplicativi, sai quale chiave puoi usare. Dovevo conoscere la chiave per il font JTextField, ad esempio, e la trovavo solo in questo modo.

Set<Object> keys = UIManager.getDefaults().keySet(); 
for (Object key : keys) { 
    if (key instanceof String && ((String) key).contains("font")) { 
      System.out.println(key + "=" + UIManager.getDefaults().get(key)); 
    } 
} 

Se siete alla ricerca di un tipo di carattere, nel suo caso, appena gettato la chiave in una stringa e verifica se contiene la parola "font". In questo modo puoi restringere il set di chiavi per cui hai potenziale interesse.

ho ottenuto un elenco

  • Menu.font = ...
  • TextField.font = ...
  • RadioButtonMenuItem.font = ...
  • ToolTip.font = .. .
  • TitledBorder.font = ...
  • ...
  • TabbedPane.font = ...
  • ...

E quindi è necessario selezionare TabbedPane.font.

+0

Provato su Java8 ma ottenuto solo un numero ridotto di elementi. Modificato l'approccio per assegnare il risultato di 'getDefaults()' a un 'Hashtable', creato un iteratore e quindi controllato i suoi tasti proprio come suggerito. – Alfabravo

-3

Il carattere predefinito della GUI Java è "Helvetica", grassetto 9, colore grigio.

+0

che è sbagliato nella sua assolutezza: come già risposto da altri, i caratteri dipendono dai LAF e/o dalle impostazioni del SO – kleopatra

Problemi correlati