菜单中的中文,不能正确显示

myhui 2012-03-29 02:35:56
以下是课本中的一个例子,运行后,标题栏的中文可以正确显示,菜单“文件”“打开”“保存”中文不能正确显示,每个中文字都变成了方块,如果改成英文可以显示,怎么解决呢?
import java.awt.*;
class FirstWindow extends Frame
{ MenuBar menubar;
Menu menu;
MenuItem item1,item2;
FirstWindow(String s)
{ setTitle(s);
Toolkit tool=getToolkit();
Dimension dim=tool.getScreenSize();
setBounds(0,0,dim.width,dim.height/2);
menubar=new MenuBar();
menu=new Menu("文件");
item1=new MenuItem("打开");
item2=new MenuItem("保存");
menu.add(item1);
menu.add(item2);
menubar.add(menu);
setMenuBar(menubar);
setVisible(true);
}
}
public class ok
{ public static void main(String args[])
{ FirstWindow win=new FirstWindow("一个带菜单的窗口");
}
}
...全文
247 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
myhui 2012-05-15
  • 打赏
  • 举报
回复 1
诶。最后解决了,
在Netbeans中,选择“文件|项目属性”,修改编码为“GBK”
分数不可以给自己哦。。
分掉吧,谢谢大家
myhui 2012-04-05
  • 打赏
  • 举报
回复 1
补充,发现课本后面的例子中,按钮和标签上的中文也是方块,
现在的情况是:
正常显示中文的:窗口标题栏、文本框
中文显示方块的:菜单、按钮、标签

苦恼中。。。 使用Netbeans 6.9.1,jdk1.6.0_23
myhui 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
一个是汉字的编码问题,但是我用你的代码测试了一下,却没有问题......
[/Quote]
是不是我系统的问题,不知道怎么解决
myhui 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
s= new String(s.getBytes("gb2312"), "utf-8");

多转转自己字符集试试。。。
[/Quote]
s变量的中文显示没问题,就是标题栏上的文字“一个带菜单的窗口”可以正确显示,但是菜单里的中文不行,
myhui 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
menu=new Menu("文件");
item1=new MenuItem("打开");
item2=new MenuItem("保存");
看看你的引号 是不是写成中文的了
[/Quote]
没有写错
lasfrost 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

其实 转换成\uXXXX 什么编码不编码的 完全可以不考虑
[/Quote]

那你来啊
牙痴 2012-04-04
  • 打赏
  • 举报
回复
其实 转换成\uXXXX 什么编码不编码的 完全可以不考虑

myhui 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
有可能是编译时产生的编码问题,你是用什么编译的,IDE工具还是javac,把源文件的编码改改,或者javac -encoding XXX源文件的编码
[/Quote]
我用的是Netbeans 6.9.1,运行文件,其他中文都正常,就是菜单上的中文不行,显示的是方块。
使用类似s= new String(s.getBytes("gb2312"), "utf-8");的语句将菜单上的中文字符串编码改编好像也不行,有时方块变问号了。
修改了字体也不行。。

lasfrost 2012-04-04
  • 打赏
  • 举报
回复
有可能是编译时产生的编码问题,你是用什么编译的,IDE工具还是javac,把源文件的编码改改,或者javac -encoding XXX源文件的编码
jake512 2012-03-29
  • 打赏
  • 举报
回复
新建一个JAVA文件,将你源文件复制进去,将原来删掉就可以了。
菖蒲老先生 2012-03-29
  • 打赏
  • 举报
回复
s= new String(s.getBytes("gb2312"), "utf-8");

多转转自己字符集试试。。。
菖蒲老先生 2012-03-29
  • 打赏
  • 举报
回复
乱码了。。。
Acesidonu 2012-03-29
  • 打赏
  • 举报
回复
统一编码
安特矮油 2012-03-29
  • 打赏
  • 举报
回复
一个是汉字的编码问题,但是我用你的代码测试了一下,却没有问题......
X497347200 2012-03-29
  • 打赏
  • 举报
回复
menu=new Menu("文件");
item1=new MenuItem("打开");
item2=new MenuItem("保存");
看看你的引号 是不是写成中文的了

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧