萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 950|回复: 0

1-1-16-6-1 Java1.1汉字问题解决方案

[复制链接]
发表于 2003-5-12 21:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
信人: saturnian (hotaru), 信区: Java
标  题: Java1.1汉字问题解决方案
发信站: BBS 水木清华站 (Tue Dec  9 20:40:26 1997)

1. 复制字体文件(以win95环境为例)

  cd <jdk或jre目录>\lib
  copy font.properties.zh font.properties

  另外有font.properties.zh_TW(繁体)、font.properties.ja(日文)
  和font.properties.ko(韩文)可供选择。


2. 支持中文的字体

  Dialog, Dialoginput, Serif, Sansserif, Monospaced

  注意:其他字体如TimesRoman, Courier等均不支持中文

3. 程序设计上要注意的问题

   a. 不要使用DataInputStream与DataOutputStream,而要用

      BufferedReader in=new BufferedReader
        (new InputStreamReader(new FileInputStream(file)));

      BufferedWriter out=new BufferedWriter
        (socket.getOutputStream());

      详细资料请参考jdk文档。

    b. Properties类的save()和load()方法中文支持亦有问题。建议
       不要使用它们,而用BufferedReader与BufferedWriter自行写
       输入输出。

    c. 对程序员而言,字符串无需任何转换(我指String.getBytes()
       方法),亦无须使用Locale类。如果你还是担心,可在程序开头
       使用以下方法:
         Locale.setDefault(Locale.SIMPLIFIED_CHINESE);
       但是这样做会使你的程序失去支持多内码的能力。不推荐使用。
                                                   ^^^^^^^^^^
4. 测试心得

      以上方法在win95平台上经测试完全没问题。java.awt包中的组件,
  包括Label, Button, TextField, TextArea, List等等均无问题,而且
  Graphics.drawString()方法亦可正常画出中文。另外文本文件的读写、
  网络的文本传输均未发现问题。
      另外,jre是分英文版和国际版的,若不使用国际版,就无法支持
  中文以及其他内码。jdk则肯定支持中文。

5. 仍存在的小问题

      TextComponent(即TextField与TextArea)的selectAll()方法。因
  String.length()求出的长度是unicode的长度,若文本中有中文,该
  方法无法把文本全部选上。
      另外,TextComponent内亦无法输入中文,需使用copy/paste。

      ... 暂时只发现这些... :)
--
    Hotaru -> Saturn ?
    Hotaru == Saturn ??

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.116.95.22]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-2-12 08:33 , Processed in 0.063886 second(s), 19 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表