Portál AbcLinuxu, 8. května 2025 20:44

Dotaz: Java - písmo aplikací

Jardík avatar 31.1.2014 18:51 Jardík | skóre: 40 | blog: jarda_bloguje
Java - písmo aplikací
Přečteno: 282×
Odpovědět | Admin
Lze nějak nastavit písmo Java aplikací, používající swing? Vím, že můžu aplikaci hodit argumenty jako -Dswing.aatext=true -Dswing.plaf.metal.controlFont="DejaVu Sans-8", ale jde mi o to, jak to nastavit globálně pro všechny aplikace najednou. Pokud aplikace spustím pod KDE či gnome, mají nastavenou správnou velikost písma, je zapnuto vyhlazení. Problém je, pokud aplikaci spustím třeba pod i3 či openboxem, písmo není vyhlazené.

Dalším problémem je pokud zapnu druhý monitor, písma všech java aplikací jsou pak strašně veliká. Vypadá to, že špatně vypočítají DPI kdy berou velikost celého root okna a velikosti v milimetrech jednoho monitoru, co dostanou od X. Můžu nastavit i nějak DPI?
Věřím v jednoho Boha.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jardík avatar 31.1.2014 19:53 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Java - písmo aplikací
Odpovědět | | Sbalit | Link | Blokovat | Admin
No našel jsem nakonec něco
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Dswing.plaf.metal.controlFont=\"Dialog-plain-12\" -Dswing.plaf.metal.userFont=\"Dialog-plain-12\""
Bohužel to funguje jen pro metal L&F (který sice většinou používám, ale některý aplikace rádi hardcódují alternativní L&F). Navíc když nastavím _JAVA_OPTIONS, tak mi každá aplikace na stderr při startu vypíše
Picked up _JAVA_OPTIONS -Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Dswing.plaf.metal.controlFont="Dialog-plain-12" -Dswing.plaf.metal.userFont="Dialog-plain-12"
což je pro mě nepřijatelné. Chtělo by to nastavit v nějakým konfiguráku.

Jinak to s tím velkým písmem na více monitorech, způsoboval předchozí "Aero" L&F zvolený ve FreeRapid Downloaderu, s Metalem mi to nedělá.
Věřím v jednoho Boha.
31.1.2014 21:20 Filip Jirsák
Rozbalit Rozbalit vše Re: Java - písmo aplikací
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkuste swing.properties. Myslím, že by tam mělo jít nastavit všechny parametry, nejen L&F.
Jardík avatar 31.1.2014 23:53 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Java - písmo aplikací
Tak jsem utvořil /etc/java-7-openjdk/swing.properties, udělal symlink v /usr/lib/jvm/java-7-openjdk/jre/lib (jako jsou tam symlinkovaný ty properties soubory z balíčku). strace mi ukáže, že to ten soubor čte, ale nějak to nic z toho neaplikuje. Když jsem hledal swing.properties ve vyhledávači, tak jsem akorát našel, že by to snad mělo číst swing.defaultlaf, vypadá to, že nic jiného nejde.
Věřím v jednoho Boha.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.