[問題] 如何指定 Swing 使用系統字型?

看板java作者 (KiKi蘋果)時間13年前 (2011/02/18 12:26), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
Swing預設使用一個叫做 Dialog 的字型顯示。 請問是否可能用程式碼指定為「使用系統字型」? 我不知道 Dialog 是 什麼字型,因為它不在我的字型列表裡面。 它似乎也不是我的系統字型,Ubuntu系統字型明顯不同於Swing元件顯示的。 (Ubuntu系統字型是黑體,Swing顯示的中文字則接近明體) 這原本也不是大問題的,偏偏Swing這個 Dialog 字型有缺字 (囧 缺的字並不多,大約都是中文和日文漢字當中非常相像(只有些微筆劃不同)的字。 這些字在 Ubuntu / MS Windows 中都可以正常顯示,作為檔案名稱也沒有問題。 替換過Swing字型發現確實是顯示字型的問題,換成文泉驛字型就看得見了。 但我並不想指定字型,因為 Ubuntu / MS Windows 的預設字型並不相同, 指定了一邊的字型,另外一邊看起來就很突兀。 我希望是能夠類似Swing指定 LookAndFeel 一樣直接程式中指定成系統字型: UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 畢竟系統字型並沒有問題,而且這樣我的程式看起來也會跟系統更具一致性。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.0.171

02/22 21:38, , 1F

02/22 21:41, , 2F
在設好L&F後,用UIManager.put(元件,你想要的字型)
02/22 21:41, 2F

02/23 22:03, , 3F
如果我想要的字型是「作業系統預設字型」呢?
02/23 22:03, 3F

02/23 22:07, , 4F
因為就算我指定字型 使用者那邊沒有 也是白搭
02/23 22:07, 4F

02/23 22:09, , 5F
不然換個方式 我如何偵測目前執行環境的系統預設字型?
02/23 22:09, 5F

02/23 22:11, , 6F
(不是Swing或JVM的預設字型 是"作業系統"的預設字型)
02/23 22:11, 6F

02/24 23:13, , 7F
何謂"作業系統"預設字型?
02/24 23:13, 7F
文章代碼(AID): #1DNVJ-af (java)