您好,登錄后才能下訂單哦!
小編給大家分享一下如何解決Swing和AWT常見問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我編寫的JAVA程序中的Swing和AWT組件中的中文顯示都是方框,而標題卻能正常顯示中文,且使用 System.out.println("中文字符串")能正常顯示中文。
解決思路:
可能是JRE的中文字庫不支持引起,所以添加一個可以支持的中文字庫解決辦法:
***步:
下載中文字庫,我使用的是simsun.ttc,可以直接在Windows(我用的是XP的系統)中找到,入徑為C:\WINDOWS\Fonts 下的simsun.ttc也可以在網站上下載推薦天網網站:http://file.tianwang.com/cgi-bin/search?word=simsun.ttc
第二步:
將中文字庫 simsun.ttc放入Jre的字庫中,操作如下:cd <JAVA_HOME>/lib/fonts或者cd <JAVA_HOME>/jre/lib/fonts,mkdir fallback (fallback代表存放后備語言的文件夾)其中<JAVA_HOME>是你安裝jdk/jre的路徑,我的是/usr/lib /jdk1.5。復制或者鏈接一個中文字體至其下:ln -s /usr/share/fonts/truetype/simsun.ttf /usr/lib/jdk1.5/jre/lib/fonts/fallback/simsun.ttf
第三步:
有了上面的步驟之后,就可以在代碼中編碼實現顯示中文了,操作如下:在main 函數中的開頭處添加如下代碼:
UIManager.put("Label.font",f); UIManager.put("Label.foreground",Color.black); UIManager.put("Button.font",f); UIManager.put("Menu.font",f); UIManager.put("MenuItem.font",f); UIManager.put("List.font",f); UIManager.put("CheckBox.font",f); UIManager.put("RadioButton.font",f); UIManager.put("ComboBox.font",f); UIManager.put("TextArea.font",f); UIManager.put("EditorPane.font",f); UIManager.put("ScrollPane.font",f); UIManager.put("ToolTip.font",f); UIManager.put("TextField.font",f); UIManager.put("TableHeader.font",f);
以上代碼代表了在整個程序中的相關組件都使用定義好"f"字體,從而就不會存在中文亂碼了,也省卻了對所有組件單獨設置的麻煩。
我默認的窗口管理器一直都是用的Beryl,沒出過什么問題。不管是開發(Java)還是一般的應用。開發的時候如果做到Java的桌面應用我一般是用SWT,Swing和AWT好久沒用,今天用了,突然發現一個問題:
開啟Beryl做Swing和AWT的時候控件不能顯示,也就是畫不出來,郁悶。到Java開發社區看了下,說這是JDK6的一個Bug-。-!不過,還好,有解決方法,就是編輯一下/etc/environment:
sudo gedit /etc/environment
加入這句:
AWT_TOOLKIT="MToolkit"
好了,問題暫時可以解決o(∩_∩)o...哈哈
以上是“如何解決Swing和AWT常見問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。