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 ...
随机推荐
- epoch、 iteration和batchsize区别
转自: https://blog.csdn.net/qq_27923041/article/details/74927398 深度学习中经常看到epoch. iteration和batchsize,下 ...
- [oracle] to_date() 与 to_char() 日期和字符串转换
to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错. 即按照第二个参数的格式解释第一个参数. to_char(日期,& ...
- 【C/C++】C/C++中的数组是怎么实现的?
几乎所有的语言都把数组作为一种固有的数据类型,数组也是我们最常用的数据结构之一.在语言底层,数组是如何实现的呢?本文以抽象数据类型的形式,定义.实现数组. 创建数组,理论上,我们可以使用创建任意维度的 ...
- ElasticSearch查询 第四篇:匹配查询(Match)
<ElasticSearch查询>目录导航: ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇: ...
- [BZOJ 2743] [HEOI 2012] 采花
Description 萧芸斓是Z国的公主,平时的一大爱好是采花.今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花.花园足够大,容纳了 \(n\) 朵花,花有 \(c\) 种颜色(用整数 \ ...
- 微信小程序——报错汇总
tabBar.list[2].selectedIconPath 文件不存在 很明显是文件名错了,定义的my-acive,少写了个t,眼睛出问题了~ module "static/vant/c ...
- BZOJ2212 [POI2011] Tree Rotations 【treap】
题目分析: 写的无旋treap应该跑不过,但bzoj判断的总时限.把相关实现改成线段树合并就可以了. 代码: #include<bits/stdc++.h> using namespace ...
- 洛谷p1586四方定理题解
题目 这个题的本质是动态规划中的背包问题. 为什么会想到背包呢. 因为往往方案数不是排列组合就是递推或者是dp,当然还有其他的可能.我们可以把一个数的代价当成这个数的平方,价值就是一个方案数.由于这个 ...
- Matplotlib学习---用mplot3d画莫比乌斯环(Mobius strip)
mplot3d是matplotlib里用于绘制3D图形的一个模块.关于mplot3d 绘图模块的介绍请见:https://blog.csdn.net/dahunihao/article/details ...
- Crazy Circuits HDU - 3157(有源汇有上下界最小流)
给出每条边的下界 求最小流 板题 提供两个板子代码 虽然这个题 第一个比较快 但在loj上https://loj.ac/problem/117 的板题 第一个1700+ms 第二个才600+ms ...