Viele Java-Apps verwenden standardmäßig keine Schriftarten mit Anti-Aliasing, obwohl Swing sie bereitstellen kann. Wie können Sie eine beliebige Java-Anwendung zwingen, AA-Schriftarten zu verwenden? (Beide für Anwendungen, die ich renne und Anwendungen Ich entwickle)Wie aktivieren Sie Anti-Aliasing in beliebigen Java-Anwendungen?
Antwort
Wenn Sie Zugriff auf die Quelle haben, können Sie diese im Hauptverfahren tun:
// enable anti-aliased text:
System.setProperty("awt.useSystemAAFontSettings","on");
System.setProperty("swing.aatext", "true");
oder, (und wenn Sie keinen Zugriff auf die Quelle, oder wenn dies einfacher) ist, können Sie einfach die Systemeigenschaften oben in die JVM übergeben, indem Sie diese Optionen in der Befehlszeile hinzufügen:
-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
danke für die Info. Ich habe mich selbst darüber gewundert. Ich benutze SoapUI (www.eviware.com) und es verwendet standardmäßig nicht AA-Text. Ich fügte hinzu -Dawt.useSystemAAFontSettings = on -Dswing.aatext = true zu der Batch-Datei, die es startet, aber das hat keinen Unterschied gemacht. Schätze, ich muss in ihrem Forum fragen.
Es kann sein, dass die Argumente der Anwendung statt der jvm interpretiert werden - Sie müssen sich vielleicht etwas tiefer in die bat-Datei einarbeiten. (oder es funktioniert möglicherweise nicht für alle Apps ... wenn ja, lass es mich wissen/stimme meine Antwort ab ..) – rcreswick
Ich konnte dies durch Bearbeiten der SH-Startdatei erreichen, so dass die letzte Zeile gelesen wurde: java -Dawt.useSystemAAFontSettings = auf -Dswing.aatext = true -Dsoapui.properties = soapui.properties -Dgroovy.source.encoding = iso-8859-1 -cp $ SOAPUI_CLASSPATH com.eviware.soapui.SoapUIPro $ * – rcreswick
Ich glaube dir könnte das gleiche mit der soapui bat-Datei tun, indem Sie die -D hinzufügen ....Parameter, die hier in der JAVA_OPTS-Zeile aufgeführt sind, oder einfach nur angeben JAVA_OPTS = -Dawt.useSystemAAFontSettings = on -Dswing.aatext = true in der Umgebung – rcreswick
Für das Protokoll, ich habe in meinem Windows 7 Maschine, fand heraus, dass
- Wenn ich das nicht in meinem Code verwenden, ich das schöne Cleartype Subpixel-Rendering erhalten.
- Aber wenn ich das verwende, bekomme ich das klassische Schwarz-Weiß-Antialiasing, das viel hässlicher ist.
Also sollte dieser Code sorgfältig verwendet werden. Ich schätze, es wird überhaupt nicht mehr benötigt, wenn alle Linux-Benutzer auf die Versionen von OpenJDK aktualisiert haben, die standardmäßig gut mit Aliasing umgehen.
Swing-Steuerelemente in den neuesten Versionen von Java 6/7 sollten automatisch systemweite Einstellungen berücksichtigen. (Wenn Sie Windows L & F auf einem Windows-Betriebssystem verwenden, sollte Text mit ClearType gerendert werden, wenn diese Einstellung systemweit aktiviert ist.) Eine Lösung könnte also einfach lauten: Aktivieren Sie das native Look and Feel?
In Anwendungen, die Sie entwickeln, wenn Sie Ihren eigenen Text direkt machen, müssen Sie auch so etwas wie dies zu tun (irgendwann vor Graphics.drawText
oder Freunde anrufen):
if (desktopHints == null) {
Toolkit tk = Toolkit.getDefaultToolkit();
desktopHints = (Map) (tk.getDesktopProperty("awt.font.desktophints"));
}
if (desktopHints != null) {
g2d.addRenderingHints(desktopHints);
}
Referenz: http://weblogs.java.net/blog/chet/archive/2007/01/font_hints_for.html
- 1. Howto aktivieren Schriftart Antialiasing in Windows
- 2. Antialiasing/Multisampling in D3D9
- 3. LibGDX Antialiasing
- 4. Antialiasing Alternativen
- 5. Antialiasing großer Text in Leinwand
- 6. Antialiasing funktioniert nicht in QGraphicsView
- 7. So machen Sie das Canvas-Antialiasing rückgängig?
- 8. Antialiasing iPhone OpenGLES
- 9. THREE.JS-Stereo-Effekt Antialiasing
- 10. Vermeiden Sie das Antialiasing von R-Plots in iPython Notebook
- 11. OpenGL Antialiasing funktioniert nicht
- 12. Mathematica Antialiasing-Algorithmus
- 13. Deaktivieren Sie Antialiasing in WebGL für bestimmte Geometrie
- 14. Welche Schritte sind notwendig, um Antialiasing zu aktivieren, wenn ein QPainter in einem QGLWidget verwendet wird?
- 15. XNA: Textur-2D-Antialiasing herunterskalieren?
- 16. Android Canvas.DrawBitmap ohne Unschärfe/AntiAliasing?
- 17. Wie aktivieren Sie dateispezifische Einzugseinstellungen in VIM?
- 18. Wie aktivieren Sie Javascript in einem WebView
- 19. Wie aktivieren Sie Zeilenumbruch in Emacs?
- 20. Wie aktivieren/deaktivieren Sie Symbolleistenelemente?
- 21. Suchen Sie einen beliebigen Knoten in Json.NET
- 22. Aktivieren Sie virtualenv in Makefile
- 23. Wie aktivieren Sie die Mousetrap.js zu akzeptieren, Caps Brief
- 24. Wie mache ich @ Font-Gesicht Antialiasing in Internet Explorer?
- 25. Rubymine - Aktivieren Sie Zeilennummern
- 26. projizieren Bild mit Opengl und Antialiasing
- 27. Wie beliebigen parametrisierte SQL ausführt in
- 28. Aktivieren Sie AMD-Virtualisierung
- 29. Wie aktivieren Sie mod_rewrite auf jedem Betriebssystem?
- 30. jQuery: Aktivieren Sie Checkboxen wie Optionsfelder?
+1 Jeden Tag lerne ich etwas Neues. Vielen Dank! – Rekin
Diese Methode funktioniert nicht für Substanz Aussehen und Gefühl, haben Sie eine Idee? –
Dies funktioniert nicht für 'Graphics # paintString (String, int, int)' – Supuhstar