2009-09-16 1 views

Antwort

20

Es hängt vom Look and Feel ab. Wenn es eine Anwendung ist, die Sie geschrieben haben, erhalten Sie die Werte von UIManager.getDefaults().getFont("TabbedPane.font")

+1

Ja, danke, das funktioniert, obwohl Sie ein Paar Klammern vergessen: UIManager.getDefaults() getFont ("TabbedPane.font") Es stellte sich heraus Arial Bold, zu sein, wie ich (dachte für das, was. es ist es wert). –

+3

Wie ermitteln Sie die passenden Schlüssel für andere Schwungkomponenten? –

+0

Sie können die Schriftart für andere Komponenten erhalten, indem Sie 'TabbedPane' in den Elementtyp ändern, an dem Sie interessiert sind. Ich habe beispielsweise gerade festgestellt, dass 'ToolTip.font' 'Dialog' ist. – marklark

1

es auf den abhängen ‚Look and Feel‘ Sie verwenden, aber für mich Swing Standardschriftart ist

DejaVu Sans - Plain

Für die meisten Komponenten, um die Schriftgröße standardmäßig auf etwa 12 oder 13

0

Es sieht aus wie es Arial ist. Das sagt mir Identifont und es sieht gut aus.

3

Die UIManager Defaults zeigt, was die Werte für alle Eigenschaften für alle Komponenten sind (einschließlich "TabbedPane.font").

3

Basierend auf der Antwort von Reverend Gonzo, dieser Teil des Codes lässt Sie wissen, welche Schlüssel in den UIDefaults sind. Da die Tasten selbsterklärend sind, wissen Sie, welchen Schlüssel Sie verwenden können. Ich musste zum Beispiel den Schlüssel für die Schriftart JTextField kennen und konnte es nur so finden.

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)); 
    } 
} 

Wenn Sie sich für eine Schriftart, in Ihrem Fall suchen, werfen nur den Schlüssel zu einem String und prüfen, ob es das Wort „font“ enthält. Auf diese Weise begrenzen Sie die Menge der Schlüssel, für die Sie potentielles Interesse haben.

Ich habe eine Liste

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

Und so müssten Sie TabbedPane.font auswählen.

+0

Versuchte dies auf Java8, aber nur eine reduzierte Teilmenge von Elementen. Der Ansatz zum Zuweisen des Ergebnisses von 'getDefaults()' zu einer 'Hashtable' wurde geändert, ein Iterator erstellt und dann die Schlüssel wie von Ihnen vorgeschlagen überprüft. – Alfabravo

-3

Die Java-GUI-Standardschriftart ist "Helvetica", Fettgröße 9, Farbe grau.

+0

Das ist falsch in seiner Absolutheit: wie andere bereits korrekt beantwortet haben, hängen Schriftarten von LAFs und/oder Betriebssystemeinstellung ab – kleopatra