שליטה בסביבת זמן הריצה של ג'אווה
יש ארבע דרכים לשלוט בסביבת הריצה של ג'אווה:
- משתנה הסביבה
_JAVA_OPTIONS. - שורת הפקודה בהרצת המכונה הווירטואלית של ג'אווה.
- קוד המקור של ג'אווה. במקרה זה עליכם לוודא שאתם מגדירים את האפשרות לפני שהיא נקלטת על ידי תת־המערכת שאליה היא מיועדת.
- ב־Java Web Start אפשר גם להשתמש בקובץ ה־JNLP כדי לשלוט בסביבה שמועברת ל־JVM המריץ.
דוגמאות לכך יכולות להיות:
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'java -Dawt.useSystemAAFontSettings=lcd [arguments...]System.setProperty("awt.useSystemAAFontSettings","lcd");property name="awt.useSystemAAFontSettings" value="lcd"(תחת האלמנטresources)
לכל אחת מהשיטות האלה יש כמובן יתרונות וחסרונות משלה. ב־Java Web Start קשה לשלוט במשתני הסביבה או בשורת הפקודה, אבל שתי אפשרויות (קובץ ה־JNLP וקוד המקור עצמו) עדיין פתוחות בפניכם.
תכונות מסוימות, כמו אפשרות ההחלקה (anti-aliasing), גרועות לשמצה כברירת מחדל, והגדרתן (כפי שמוצג לעיל) תעניק לכם מראה ותחושה טובים בהרבה.
הערכים של המפתח awt.useSystemAAFontSettings הם כדלקמן:
falseמקביל לביטול החלקת גופנים בשולחן העבודה.onמקביל ל־Best shapes/Best contrast של גנום (אין הגדרה מקבילה בחלונות).gaspמקביל להחלקת הגופניםStandardשל חלונות (אין הגדרה מקבילה בשולחן העבודה של גנום).lcdמקביל ל־subpixel smoothingשל גנום ול־ClearTypeשל חלונות.
מהי האפשרות הטובה ביותר? ובכן — אני באמת לא יודע. במחשב הנייד שלי lcd נראה הכי טוב. ספרו לי
על הניסיון שלכם...