Re: [问题] Swing 的中文输入问题 in MAC OS

楼主: pupuliao (pupu)   2014-06-03 01:38:27
※ 引述《sbrhsieh (十年一梦)》之铭言:
: ※ 引述《pupuliao (pupu)》之铭言:
: : 最近 再尝试把我的小程式 从windows 移植到 MAC OS 上
: : 再针对 档案路径、换行符号 等等相容性修正后
: : 找了网友测试
: : 最后回报结果却是 Swing UI 接口出了问题
: : 似乎无法正确输入中文....
: : 询问了google 似乎是 万年老BUG 除了改用其他UI 系统之外?
: : 所以想来这里请问一下 有在不更改UI架构下 解决问题吗?
: : 简单来说 就是 帮我测试MAC 版的朋友说
: : 他是使用 YAHOO 输入法
: : 无法正常输入中文
: : swing.JTextField 的框格中,他输入中文,会被分拆成 注音....
: 我没有使用 Yahoo 输入法的经验,但可以理解你朋友描述的现象。
: 发生这种情况应该只会在使用特定的输入法,就是那种可以设定(或只能是)成
: 在文字输入区域直接拼写的模式的输入法。
: 我都是使用 MacOS X(10.4/10.5/10.7/10.9)内建的输入法,它也是这种模式(拼字
: 的过程是直接出现在 text 元件处),未出现你所描述的情况(在 CPython for MacOS
: 的 IDEL 界面里输入中文则是如同你描述的)。
: 故我认为这有可能不是 JRE 在不同的平台的差异所致(是不是 JRE implementation
: 有关尚不确定,我使用 Apple 改的 JRE 1.5/1.6 与 sun JRE 1.7 都没问题就是),
: 而是跟你的程式如何去操作 text component 有关,也就是说你的程式在 Windows
: 上的 JRE 也可能会有相同的现象发生,只是你没观察到,比如你在 Windows 上使用
: 的输入法是在额外的输入法视窗做拼字过程,那么就不会出现你描述的不正常情况。
: 建议先采下列步骤来更加确定问题的症结处所在:
: 1. 在 MacOS/Windows 上试试其他的输入法。
感谢 前辈的告知
最后我找人测试 MAC OS 的默认输入法,确定我原先的写法事OK的
应该是 YAHOO 输入法问题
: 2. 你的 Java 程式是单纯使用 JTextComponent 类的元件来收集文字 input 吗?
: 有没有使用客制的 Document 或是利用 listener 去观察 Document 的变化并
: 做些会影响 Document 的操作?若是,仔细检验你的做法,你的做法不对是会
: 导致把拼音过程的 glyph 当成输入。实际上在 text input 处直接做拼字的
: 输入法在拼字过程的 glyph,比如 bopomofo,是会进 Document 的,透过
: document listener 或客制 Document 来做 filtering 或 validation,稍
: 不小心就会搞砸。
这是小弟的程式码
https://github.com/pupuliao/JNovelDownloader
我只是在当使用者按下 button 后,截取jTextField 的内容
完全照着蚂蚁书上做 没有作您说的那么多 复杂的操作
下次开发 我似乎要用 javaFX 了.....
作者: Expsun (无限燃烧)   2014-06-03 05:13:00
FX赞
作者: Killercat (杀人猫™)   2014-06-03 09:54:00
欢迎加入JavaFX XD

Links booklink

Contact Us: admin [ a t ] ucptt.com