TODO java-awt中文乱码--疑惑
参考:http://blog.sina.com.cn/s/blog_025270e90101b1db.html
1.IDE工具是eclipse,检查了编码是UTF-8,控制台中是中文,用awt就会乱码掉。
2.查看了代码,在文件夹中直接java XXX运行,awt的内容也是显示中文。
结论:ide的锅
Run As--Run Configurations--Arguments--VM arguments
添加:-Dfile.encoding=GB18030
新代码出现问题了。awt中文显示正常,控制台输出错误。
日哦。。。。在命令行里面跑是正常的,eclipse就各种掉链子。
TODO java -疑惑-awt-menuItem只能选择加在一个menubar中,或者加载一个popMenu中,而不能两边都加
menuItem只能选择加在一个menubar中,或者加载一个popMenu中,而不能两边都加
存疑。现在的代码确实是这样的。
以下代码,很多menuItem两边都加了,但是是以排在后面为准的。
这里的add的menuItem,不是实例的一次引用吗?add是指什么呢?
package chapter11;
import java.awt.BorderLayout;
import java.awt.CheckboxMenuItem;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.border.Border;
public class TestAwt{
private Frame f = new Frame("test");
private MenuBar mb = new MenuBar();
//增加右键菜单menu
PopupMenu pop = new PopupMenu();
Menu file = new Menu("文件");
Menu edit = new Menu("编辑");
//文件menu的子item
MenuItem newItem = new MenuItem("新建");
MenuItem saveItem = new MenuItem("保存");
MenuItem exitItem = new MenuItem("退出"
,new MenuShortcut(KeyEvent.VK_X));
//编辑menu的子item
CheckboxMenuItem autoWrap =new CheckboxMenuItem("自动换行");
MenuItem copyItem = new MenuItem("复制");
MenuItem pasteItem = new MenuItem("粘贴");
Menu format = new Menu("格式");
//格式menu的子item
MenuItem commentItem= new MenuItem("注释"
,new MenuShortcut(KeyEvent.VK_SLASH,true));
MenuItem cancelItem = new MenuItem("取消注释");
//文本区域
private TextArea ta = new TextArea(6,70);
public void init(){
//以匿名内部类创建菜单监听器
ActionListener menuListener = new ActionListener(){
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
ta.append("单机["+cmd+"]菜单\n");
if(cmd.equals("退出")){
System.exit(0);
}
}
};
//给注释commentItem增加监听
commentItem.addActionListener(menuListener);
//为pop增加菜单项
pop.add(autoWrap);
pop.add(copyItem);
pop.add(pasteItem);
//给退出exit增加监听
exitItem.addActionListener(menuListener);
//为文件file增加子项
file.add(newItem);
file.add(saveItem);
file.add(exitItem);
//为编辑edit增加子项
edit.add(autoWrap);
//加分割线
edit.addSeparator();
edit.add(copyItem);
// edit.add(pasteItem);
//给格式增加子菜单
format.add(commentItem);
format.add(cancelItem);
pop.add(format);
final Panel p = new Panel();
p.setPreferredSize(new Dimension(300,160));
p.add(pop);
p.addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent e){
if(e.isPopupTrigger()){
pop.show(p, e.getX(), e.getY());
}
}
});
//增加分割线
edit.add(new MenuItem("-"));
//增加格式选项
edit.add(format);
//往menubar里面增加 file,edit选项
mb.add(file);
mb.add(edit);
//给frame设置menubar
f.setMenuBar(mb);
//给frame加监听
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e ){
ta.append("用户试图关闭窗口\n");
System.exit(0);
}
});
f.add(p);
f.add(ta,BorderLayout.NORTH);
f.pack();
f.setVisible(true);
}
public static void main(String []args){
new TestAwt().init();
}
}
TODO java-awt中文乱码--疑惑的更多相关文章
- java awt 中文乱码 显示为 方块
今天调试同学的五子棋程序,同学的界面是用awt写的,运行的时候,发现菜单栏中的中文都无法正常显示,而是变为了一个个方框, 类似于这样:(图片来源于网络) 即使做了字体设置,比如设置为宋体,也还是无法正 ...
- java ee 中文乱码的问题
java ee 中文乱码的问题 发生中文乱码的三种情况 (一) 表单form Post 方法 直接在服务器中设置 request.setCharacterEncoding("utf-8&qu ...
- eclipse中添加进新的java项目中文乱码
eclipse中添加进新的java项目中文乱码 添加学习的一些项目进eclipse中,结果其中的中文注释都变成了乱码 右击项目,点最下面的属性,出来新得弹框 在文本文件编码部分可以发现是GBK格式,选 ...
- Eclipse导入项目java文件中文乱码
感谢大佬:https://blog.csdn.net/ordinaryprogrammerc/article/details/83013710 本文链接:https://blog.csdn.net/o ...
- java 解决中文乱码
//1.代码解决 public class LuanMa { public static String getNewString(String luanma){ String result = &qu ...
- Java 关于中文乱码处理的经验总结【转载】
为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程.汉语编程是怎么回事我也 ...
- Visual Studio Code Java输出中文乱码的问题
Visual Studio Code 推出了java插件,最近适用了一把,非常不错,但是有个很明显的bug.就是中文乱码,具体现象有如下: 1.System.out.println 控制台输出乱码. ...
- java 菜单 中文 乱码问题解决方案(使用idea/eclipse) swing MenuItem乱码
java swing MenuItem乱码 2016年12月30日 13:32:08751人阅读 评论(0) 收藏 举报 用java开发一个带有托盘图标的程序, 其它模块的中文显示都是正常的,比如 ...
- Java处理中文乱码问题
package servlet; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.ser ...
随机推荐
- EOS搭建
http://mp.weixin.qq.com/s/RcDFCFCWpMIIAshJMqkxxw ,地址实效,请关注公众号 一下引用,只是技术记录交流 目前来讲,学习任何EOS相关技术的资料都来自ht ...
- Redis宕机的问题
在主从模式下宕机要分为区分来看: slave从redis宕机 在Redis中从库重新启动后会自动加入到主从架构中,自动完成同步数据: 如果从数据库实现了持久化,只要重新假如到主从架构中会实现增 ...
- Spring 使用介绍(十二)—— Spring Task
一.概述 1.jdk的线程池和任务调用器分别由ExecutorService.ScheduledExecutorService定义,继承关系如下: ThreadPoolExecutor:Executo ...
- Android路径之Javascript基础-笔记
一.Javascript概述(知道) a.一种基于对象和事件驱动的脚本语言 b.作用: 给页面添加动态效果 c.历史: 原名叫做livescript.W3c组织开发的标准叫ECMAscipt. d.特 ...
- Python里format()方法基本使用
'''第一种:自然连接''' #format 连接字符串 str = '{}使用的python是{}版本'.format('我','3.6.5') print(str) #打印结果:我使用的pytho ...
- Marriage Match IV HDU - 3416(最短路 + 最大流)
题意: 求有多少条最短路 解析: 正着求一遍最短路 得dis1 反着求一遍得 dis2 然后 遍历所有的边 如果 dis1[u] + dis2[v] + w == dis1[B], 则说明这是一 ...
- MT【279】分母为根式的两个函数
函数$f(x)=\dfrac{3+5\sin x}{\sqrt{5+4\cos x+3\sin x}}$的值域是____ 分析:注意到$f(x)=\sqrt{10}\dfrac{5\sin x+3}{ ...
- 【HDU 4343】Interval query(倍增)
BUPT2017 wintertraining(15) #8D 题意 给你x轴上的N个线段,M次查询,每次问你[l,r]区间里最多有多少个不相交的线段.(0<N, M<=100000) 限 ...
- Hdoj 2190.悼念512汶川大地震遇难同胞——重建希望小学 题解
Problem Description 下面是512汶川大地震部分受灾学校伤亡情况(惨痛!!) 1. 四川省都江堰市 聚源中学 伤亡情况:遇难学生人数(含失踪)320 详细说明: 一栋教学楼被震垮,该 ...
- Spring 声明式事务
事务的特性/概念 事务:一组操作要么都成功要么失败: 事务的四个关键属性(ACID): 原子性(atomicity):“原子”的本意是“不可再分”,事务的原子性表现为一个事务中涉及到的多个操作在逻辑上 ...