用java開發一個帶有托盤圖標的程序,
其它模塊的中文顯示都是正常的,好比:
就只有托盤中點擊小圖標時彈出的菜單中的中文是方框(中文方塊),以下:
按照通常的經驗,覺得是字體沒設置好,就用如下代碼設置字體:
完了中文仍是方塊,那就用如下代碼打印字體:
發現明明寫着有宋體。這下鬱悶了,試了一下午,仍是沒有搞定。
終於在網上找到了救星(參考:http://scnjl.iteye.com/blog/1282172)。
原來是myeclipse的運行參數問題,真想罵人啊我。。。
下面說說解決:
第一:
在你的具備main函數的類也即你應用運行的主類上點擊右鍵,選擇Run As中的Run Configurations,以下圖:
第二,在Arguments標籤下的VM arguments中添加下面這行參數代碼,而後點擊應用。
-Dfile.encoding=GB18030
在次運行
其它模塊的中文顯示都是正常的,好比:
就只有托盤中點擊小圖標時彈出的菜單中的中文是方框(中文方塊),以下:
按照通常的經驗,覺得是字體沒設置好,就用如下代碼設置字體:
- Font f = new Font("\u5fae\u8f6f\u96c5\u9ed1", Font.PLAIN, 11);//宋體
- 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);
- UIManager.put("Table.font",f);
完了中文仍是方塊,那就用如下代碼打印字體:
- GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
- String script[] = ge.getAvailableFontFamilyNames();
- for(String s:script){
- System.out.print(s+",");
- }
發現明明寫着有宋體。這下鬱悶了,試了一下午,仍是沒有搞定。
終於在網上找到了救星(參考:http://scnjl.iteye.com/blog/1282172)。
原來是myeclipse的運行參數問題,真想罵人啊我。。。
下面說說解決:
第一:
在你的具備main函數的類也即你應用運行的主類上點擊右鍵,選擇Run As中的Run Configurations,以下圖:
第二,在Arguments標籤下的VM arguments中添加下面這行參數代碼,而後點擊應用。
-Dfile.encoding=GB18030
在次運行