2016年12月30日 13:32:08751人阅读 评论(0) 收藏 举报
 
用java开发一个带有托盘图标的程序, 
其它模块的中文显示都是正常的,比如: 
 
就只有托盘中点击小图标时弹出的菜单中的中文是方框(中文方块),如下: 

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

  1. Font f = new Font("\u5fae\u8f6f\u96c5\u9ed1", Font.PLAIN, 11);//宋体
  2. UIManager.put("Label.font",f);
  3. UIManager.put("Label.foreground",Color.black);
  4. UIManager.put("Button.font",f);
  5. UIManager.put("Menu.font",f);
  6. UIManager.put("MenuItem.font",f);
  7. UIManager.put("List.font",f);
  8. UIManager.put("CheckBox.font",f);
  9. UIManager.put("RadioButton.font",f);
  10. UIManager.put("ComboBox.font",f);
  11. UIManager.put("TextArea.font",f);
  12. UIManager.put("EditorPane.font",f);
  13. UIManager.put("ScrollPane.font",f);
  14. UIManager.put("ToolTip.font",f);
  15. UIManager.put("TextField.font",f);
  16. UIManager.put("TableHeader.font",f);
  17. UIManager.put("Table.font",f);

完了中文还是方块,那就用以下代码打印字体:

  1. GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
  2. String script[] = ge.getAvailableFontFamilyNames();
  3. for(String s:script){
  4. System.out.print(s+",");
  5. }

发现明明写着有宋体。这下郁闷了,试了一下午,还是没有搞定。 
终于在网上找到了救星(参考:http://scnjl.iteye.com/blog/1282172)。 
原来是myeclipse的运行参数问题,真想骂人啊我。。。 
下面说说解决: 
第一: 
在你的具有main函数的类也即你应用运行的主类上点击右键,选择Run As中的Run Configurations,如下图:


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


在次运行

 

java 菜单 中文 乱码问题解决方案(使用idea/eclipse) swing MenuItem乱码的更多相关文章

  1. java swing MenuItem乱码处理

    用java开发一个带有托盘图标的程序, 其它模块的中文显示都是正常的,就只有托盘中点击小图标时弹出的菜单中的中文是方框(中文方块) 解决: 1: 在你的具有main函数的类也即你应用运行的主类上点击右 ...

  2. Linux 下报错:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must解决方案

    一.报错环境:在Linux mint下,前几天还用得很好的的eclipse,今天开机不知为什么这样. Linux 下报错:A Java RunTime Environment (JRE) or Jav ...

  3. JAVA的中文字符乱码问题

    来源:http://luzefengoo.blog.163.com/blog/static/1403593882012754428536/ JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用 ...

  4. [转]URL传中文参数导致乱码的解决方案之encodeURI

    通过URL传中文参数时,在服务端后台获取到的值往往会出现乱码.解决方案有很多种.本文介绍如何通过encodeURI来解决中文乱码问题. 首先,在前端页面准备参数的时候,需要对中文参数进行encode处 ...

  5. 【应用服务 App Service】App Service 中部署Java应用中文乱码现象

    问题情形 有时候部署在 Azure  App Service的 Java应用会出现乱码 详细日志 无 问题原因 因为 App Service默认的编码为gbk,所以在显示页面或传递中文字符时就会出现乱 ...

  6. java ee 中文乱码的问题

    java ee 中文乱码的问题 发生中文乱码的三种情况 (一) 表单form Post 方法 直接在服务器中设置 request.setCharacterEncoding("utf-8&qu ...

  7. Git跨平台中文乱码临时解决方案

    Git 是一个非常优秀的分布式版本控制系统,最初为Linux Kernel版本管理进行量身定做.优点是,和其他版本控制系统相比,稳定,速度快,跨平台,易学易用,无需要花费成本.更多优点请点击阅读:ht ...

  8. AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)

    这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...

  9. java 乱码问题解决方案

    java  乱码问题解决方案 一.tomcat: <Connector         port="8080"         maxThreads="150&qu ...

随机推荐

  1. NOI-1.3-05-计算分数的浮点数值-double要注意

    05:计算分数的浮点数值 总时间限制:  1000ms 内存限制:  65536kB 描述 两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点后9位) 输入 ...

  2. Hexo重装小结

    安装好node.js后: 使用命令npm install -g hexo,很慢,基本安装不了. 换用淘宝镜像: $ npm install -g cnpm --registry=https://reg ...

  3. XXS level5

    (1)用第四关的方法尝试,发现不行,查看页面源代码,发现on中间有了下划线 (2)查看PHP源代码 <?php ini_set("display_errors", 0); $ ...

  4. Codeforces483B. Friends and Presents(二分+容斥原理)

    题目链接:传送门 题目: B. Friends and Presents time limit per test second memory limit per test megabytes inpu ...

  5. RNN-LSTM-GRU-BIRNN

    https://blog.csdn.net/wangyangzhizhou/article/details/76651116 共三篇 RNN的模型展开后多个时刻隐层互相连接,而所有循环神经网络都有一个 ...

  6. 2019寒假算法基础集训营1 - B 小a与"204"

    题目: 小a非常喜欢这个数字,因为. 现在他有一个长度为的序列,其中只含有这三种数字 设为序列中第个数,你需要重新排列这个数列,使得最大(公式的含义是:每个数与前一个数差的平方的和) 注意:我们默认 ...

  7. 项目报错 exception 'RedisException' with message 'Redis server went away' in XXX

    检查服务器防火墙是否开启redis端口:如果返回no 表没确实没开 firewall-cmd --query-port=6379/tcp 开启:firewall-cmd --add-port=6379 ...

  8. SQL-表-003

    注:红色代表关键字,绿色代表解释说明,蓝色代表重点: 什么是数据表? 数据表是数据库中最重要的组成部分,可以将数据表分解成字段(列)和记录(行): 数据表的增加:约束同时创建 create table ...

  9. 2017.7.12 Python的6种内建序列及操作

    数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构. 在Python中,最基本的数据结构是序列(sequence).序列中的 ...

  10. oracle 日常

    oracle  sql server  select  1 from dual  和   select 1    nvl(null,0)     为空显示 0 greatest (1, 3, 2 )  ...