在java框架中设置unicode字符

时间:2008-12-04 14:19:31

标签: java unicode frame

如何在不使用日语语言包的Windows XP m / c中的Java swing中的JFrame标题中显示unicode字符(例如japanese)?看起来像将标题文本设置为日语unicode字符,而字体为MS Mincho是不够的。虽然这只是在Swing标签中显示unicode字符所需要做的所有事情吗?

1 个答案:

答案 0 :(得分:4)

“没有日语语言包”?

您似乎必须至少 download the language font ...

alt text

  

字体是客户端计算机上唯一需要安装的字体来运行应用程序。

     

与AWT不同,在Swing中使用字体要容易得多。
  对于AWT组件,即具有本机对等组件的组件,您需要自定义JRE的设置,即修改/ jre / lib下的font.properties以包含您在每种字体类型下安装的字体。

     

在Swing应用程序中,您只需在设置文本之前设置Swing组件的字体。

帖子开头的链接包含一个完整的示例 小提取物:

JFrame frame = new JFrame();
String string = "\u30b7\u30f3\u30d7\u30eb\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf";
JLabel label = new JLabel();
label.setFont(new Font("MS Mincho",Font.PLAIN, 12));
label.setText(string);
frame.getContentPane().add(label);
frame.setFont(new Font("MS Mincho",Font.PLAIN, 12));
frame.setTitle(string);

java J2SE6(1.6.0)的一般文档是here,包括 Font Configuration Files

从Java5及更高版本开始,您不再需要font.properties文件,因为您可以加载字体文件以创建/使用字体。

String fontFileName = "yourfont.ttf";
InputStream is = this.getClass().getResourceAsStream(fontFileName);
Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, is);
Font ttfReal = ttfBase.deriveFont(Font.PLAIN, 24);