# Schriftgröße allgemein verändern?



## bastimm (14. Apr 2011)

Hallo zusammen,

ich schreibe gerade ein kleines Programm.
Nun sollen mehrere Leute mit diesem Programm arbeiten.
Das Problem sind die verschiedenen Auflösungen (von 13" bis 24" Monitor) und dass einer der User eine Sehschwäche hat....

gibt es eine Möglichkeit für die Schriftart für das komplette Programm irgendwo zu hinterlegen, bzw anzupassen?

Aktuell wirkt die Schrift z.B: ein JTree auf 13" extrem riesig, auf einem 24" hingegen tut man sich schon schwer überhaupt noch was zu lesen.....

Die Schriftart für die einzelnen JTree z.B: ist kein Problem, aber ich suche eine Möglichkeit die Schriftarten für alle Elemente anzupassen...

z.B. 100% -> 200% oder so in der Art?

Danke im Voraus!


----------



## SlaterB (14. Apr 2011)

Suche 'swing font size'
Change default Swing font size

wenn irgendwelche UI-Tricks nicht gehen, dann ist die etwas billigere aber robustere Methode 
ein rekursiver Durchlauf aller GUI-Elemente und überall setFont() aufrufen


----------



## bastimm (14. Apr 2011)

DANKE erstmal für den Tipp!

Ich habe nun zum Test folgenden Code verwendet:

```
try {
	    //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
	    UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
	    UIDefaults defaults = UIManager.getDefaults();
	    Enumeration keys = defaults.keys();
	    while (keys.hasMoreElements()) {
		Object key = keys.nextElement();
		Object value = defaults.get(key);
		if (value != null && value instanceof Font) {
		    UIManager.put(key, null);
		    Font font = UIManager.getFont(key);
		    if (font != null) {
			float size = font.getSize2D();
			UIManager.put(key, new FontUIResource(font.deriveFont(size * 2)));
		    }
		}
	    }
	}
```

das wirkt sich nur leider nicht auf JTable, JTree und auch nicht auf JLabel aus. Bei der Menubar werden die Untermenüs z.B: auch nicht geändert :s

Beim TabPanel werden seltsamerweise die Reite nur beim "hoover" effekt größer :s

Normal sollte das doch alles betreffen?

Danke im Voraus!


----------



## SlaterB (14. Apr 2011)

leider habe ich dazu keine Erfahrungen, nur nach dem Link gesucht


----------



## bastimm (14. Apr 2011)

```
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
	    Font font = new Font("Arial", Font.PLAIN, 30);
	    Enumeration keys = UIManager.getLookAndFeelDefaults().keys();
	    while (keys.hasMoreElements()) {
		Object key = keys.nextElement();
		if (UIManager.getFont(key) != null) {
		    UIManager.put(key, font);
		}
	    }
```

mit diesem Code wird wenigstens der JTree auch angepasst...
JTable, JPanel und Co bleiben unbeeinflusst :s

Evtl jemand hier, der mir nen Tipp hat?
Danke im Voraus!


----------

