java awt界面乱码_java,awt,中文方框,中文乱码

用java开发一个带有托盘图标的程序,

其它模块的中文显示都是正常的,比如:

69f2a57a9503fa5eedf038f2f0e40a4c.png

就只有托盘中点击小图标时弹出的菜单中的中文是方框(中文方块),如下:

f9fa215af2796e102dbc3f3b8b592e59.png

按照一般的经验,以为是字体没设置好,就用以下代码设置字体:

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,如下图:

1accb45b40c47a230199f64e109ea5bc.png

第二,在Arguments标签下的VM arguments中添加下面这行参数代码,然后点击应用。

-Dfile.encoding=GB18030

16db6737e7013a6fa93db5695fba38b6.png

ok了,再运行,就终于出现正常的中文了:

76e1606e4ba9f04f184f08f261a3f3b3.png

终于完成,哈哈,

没有乱码,全世界都清净了!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值