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. 11.2.0.4单实例DRCP(Database Resident Connection Pooling)简单测试

    DRCP配置及测试 一. DRCP介绍 数据库提供会话进程在数据库中使用资源的方式: 1)Dedicated Server,一个会话在数据库中对应一个专有进程,一对一服务(资源数据库占用过多,一般使用 ...

  2. 打印GBK、GB2312字符集全字符

    根据编码表填充数据就可以了~~~~(>_<)~~~~~\(≧▽≦)/~啦啦啦 #include <stdio.h> #include <stdlib.h> #inc ...

  3. 字符串(text)格式的html代码文本转为DOM对象

    /*字符串转dom对象*/ window.strimgTurnDom = function(txt) { try //Internet Explorer { xmlDoc=new ActiveXObj ...

  4. Django中Ajax处理

    1.大部分和Flask中相同. 2.Django处理JSON,主要是对于查询结果集处理. 使用Django提供的序列化的类来完成QuerySet到JSON字符串的转换 from django.core ...

  5. [LeetCode&Python] Problem 830. Positions of Large Groups

    In a string S of lowercase letters, these letters form consecutive groups of the same character. For ...

  6. fast ai环境配置

    https://www.jianshu.com/p/2fe22a6b0ecb https://www.jianshu.com/p/b1be2af2f2ef https://blog.csdn.net/ ...

  7. java-继承的注意事项

    1.子类只能继承父类所有非私有的成员(成员方法和成员变量). 2.子类不能继承父类的构造方法,但是可以通过super关键字去访问父类构造方法. 3.不要为了部分功能而去继承.

  8. python scrapy 爬虫实例

    1 创建一个项目 scrapy startproject basicbudejie 2 编写爬虫 import scrapy class Basicbudejie(scrapy.Spider): na ...

  9. opencv掩模操作

    //设置变量,读图 Mat image, mask; Mat img1, img2, img3, img4; image = imread("data/img/1.jpg"); / ...

  10. OS模块(与操作系统交互)

    os 模块提供了很多允许你的程序与操作系统直接交互的功能 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() ...