Gibt es in Java eingebaute Methoden, um die Schriftgröße zu erhöhen?Gibt es in Java eingebaute Methoden, um die Schriftgröße zu erhöhen?
Antwort
In der Klasse Font
können Sie die Schriftgröße festlegen.
So erstellen Sie eine Schriftart Sie etwas tun, wie folgt aus:
Font f = new Font("serif", Font.PLAIN, fontSize);
Der fontSize
Parameter wird die Größe Ihrer Font
bestimmen.
Sie können die Größe eines vorhandenen Font-Objekts nicht ändern. Der beste Weg, um einen ähnlichen Effekt zu erzielen, ist die deriveFont(size)
Methode, um eine neue, fast identische Font
zu erstellen, die eine andere Größe hat.
Font original = // some font
Font bigger = original.deriveFont(newSize);
Wo newSize ein Schwimmer ist, nicht ein int:
Font biggerFont = existingFont.deriveFont(bigNumber);
Hinweis: Sie müssen angeben, dass 'bigNumber' ein Float ist, andernfalls lösen Sie die' derivedFont (int style) 'Überladung aus. I.e. 'existingFont.deriveFont (100f);'. –
erstellt diese Methode "derivateFont (size)" ein neues Font-Objekt? – JAVA
Sie können mithilfe der folgenden einen neuen Font mit einer anderen Größe abzuleiten. Dies ist in der JavaDoc für Font dokumentiert wie andere Leute haben darauf hingewiesen
+1. @Raji: Wenn Sie die Schriftgröße auf den GUI-Komponenten auf diese Weise erhöhen möchten, können Sie dies unter Beibehaltung der Schriftart und des Formats tun. Beispiel: myLabel.setFont (myLabel.getFont(). DerivateFont (20)); Sie können dann einen rekursiven Algorithmus implementieren, der diese Operation für die gesamte Komponentenhierarchie ausführt. Nur eine Idee. – akarnokd
newSize _muss_ ein 'float' sein, kein' int'. Siehe [derivedFont (float)] (http://docs.oracle.com/javase/6/docs/api/java/awt/Font.html#deriveFont (float)) und antworte von Avrom. [derivedFont (int)] (http://docs.oracle.com/javase/6/docs/api/java/awt/Font.html#deriveFont (int)) wendet ein _style_ an (kodiert als 'int'-Wert) zur Schriftart. –
Unter der Annahme, dass Sie die Schriftgröße auf einem bestimmten JLabel
ändern möchten, können Sie tun:
label.setFont(label.getFont().deriveFont(newSize));
Vergewissern Sie sich, dass newSize
a float
kein int
.
können Sie die Eigenschaft swing.plaf.metal.controlFont gesetzt, wenn Sie Anwendung ausgeführt wird:
java -Dswing.plaf.metal.controlFont = Dialog-50 YourMainClass
in In diesem Beispiel haben Sie die Standardschriftart auf "Dialog" mit der Größe 50 gesetzt.
+1 für die Swing-Parametrierung – akarnokd
Ich interpretierte diese Frage als "Wie kann ich die Schriftgröße für Swing auf der ganzen Linie erhöhen?" Ich kenne keine integrierte Möglichkeit, dies zu tun, aber Sie könnten es selbst tun, indem Sie die Werte in der UIManager-Klasse beim Start ändern, bevor Sie Swing-Komponenten erstellen.
Ich mache dies, indem ich einen Parameter an meine App übergebe, den ich als Multiplikator verwende. Wenn ich 150 übergebe, multipliziert es alle vorhandenen Schriftarten um 150%. Der Code lautet wie folgt
public static void initializeFontSize() {
String fontSizeParam = System.getProperty("myapp.fontSize");
if (fontSizeParam != null) {
float multiplier = Integer.parseInt(fontSizeParam)/100.0f;
UIDefaults defaults = UIManager.getDefaults();
int i = 0;
for (Enumeration e = defaults.keys(); e.hasMoreElements(); i++) {
Object key = e.nextElement();
Object value = defaults.get(key);
if (value instanceof Font) {
Font font = (Font) value;
int newSize = Math.round(font.getSize() * multiplier);
if (value instanceof FontUIResource) {
defaults.put(key, new FontUIResource(font.getName(), font.getStyle(), newSize));
} else {
defaults.put(key, new Font(font.getName(), font.getStyle(), newSize));
}
}
}
}
}
Die Frage ist viel zu vage, um eine gute Antwort zu geben. Aber ich denke, dass Sie die Schriftgröße in Ihrer Anwendung systematisch erhöhen möchten.
Schriftart, Stil und Größe einer Java Swing-Anwendung werden über den LookAndFeel-Mechanismus gesteuert. Sie müssen die Schriftart im Look-and-Feel ändern, wenn die Änderung für alle Swing-Komponenten eines bestimmten Typs gelten soll.
Werfen Sie einen Blick auf das UIManager Beispiel.
Hier ist, wie die Schrift global Komponenten für einige UI zu ändern:
UIManager.put("Label.font", new FontUIResource(new Font("Dialog", Font.PLAIN, 10))); UIManager.put("Button.font", new FontUIResource(new Font("Dialog", Font.BOLD, 10))); UIManager.put("TextField.font", new FontUIResource(new Font("Dialog", Font.PLAIN, 10)));
- 1. Erhöhen Sie die Schriftgröße mit Unicode in Java
- 2. Wie Schriftgröße zu erhöhen NumberPicker Android 6.0?
- 3. Gibt es in Java ein Idiom für leere Methoden, die existieren, um eine Schnittstelle zu erfüllen?
- 4. So erhöhen Sie die Schriftgröße von Etikettennamen
- 5. Programmatisch Schriftgröße für NSAlert erhöhen
- 6. c3js: Gibt es eine Möglichkeit, die Schriftgröße zu ändern?
- 7. Wie die Schriftgröße von Etiketten auf Tortendiagramm zu erhöhen
- 8. Gibt es eine Möglichkeit, die Stapelgröße/Rekursionsgrenze zu erhöhen?
- 9. Gibt es eine eingebaute Funktion, um eine Zahl in bestimmten Bereich in Python zu halten?
- 10. Wie man eingebaute Methoden in Golang verwendet?
- 11. So erhöhen/verringern Sie die Schriftgröße in Dojo DataGrid
- 12. Geometric Mean: Gibt es eine eingebaute?
- 13. Wie kann ich die Schriftgröße in WebStorm erhöhen?
- 14. Gibt es eine eingebaute/gem-Funktion, um einen logarithmischen Bereich in Ruby zu erzeugen?
- 15. Gibt es eine eingebaute Funktion, um ein Verzeichnis in Dart zu kopieren?
- 16. Gibt es Module oder eingebaute Funktionen, um in Ruby Fehlerberichte zu erstellen?
- 17. Wie kann ich die Schriftgröße in Xcode für swift erhöhen
- 18. Erhöhen Sie die Schriftgröße des Textes in Sublime Seitenleiste
- 19. Swift Schriftgröße des UITextview erhöhen, wie?
- 20. So erhöhen Sie die Schriftgröße von ggtitle in ggplot2
- 21. Um die Timeout-Zeit zu erhöhen
- 22. Jinja - Gibt es eine eingebaute Variable, um den aktuellen HTML-Seitennamen zu erhalten?
- 23. Schriftgröße von Hyperlink Text erhöhen html
- 24. Gibt es in Python eingebaute Cross-Thread-Ereignisse?
- 25. Gibt es ähnliche Android-Methoden von Java getData(). GetPixels()?
- 26. Gibt es eine eingebaute Funktion wie Perls Splice in Python?
- 27. Gibt es Java-Bibliotheken, um einen wortbasierten Vergleich zu erstellen?
- 28. Gibt es Tools, um Java und C++ zu integrieren?
- 29. Gibt es eine eingebaute Suchleiste in den GoogleMaps?
- 30. Gibt es in CUDA eingebaute Cross- und Dot-Produkte?
Könnten Sie angeben, für welchen Fall tun müssen, um die Schriftgröße erhöhen? – akarnokd