有没有办法屏蔽Swing的文本编辑组件跳出的“输入窗口”?
比如在界面上添加一个JTextField(其它文本组件也一样),运行程序,当用搜狗拼音等输入法在该文本组件中输入文字时,java会默认弹出一个“输入窗口”,该输入窗口显示的内容其实与输入法工具跳出的输入窗口显示的内容一样,这样一来连同输入法自带的输入窗口,就有呢两个输入窗口了,感觉很尴尬,因为java跳出的“输入窗口”异常简洁难看,而且似乎也没有任何用途。不知能否将java跳出的这个“输入窗口”屏蔽?
望高手指点!!!
------解决方案--------------------我只按了搜狗 和一个英文输入法 其他输入法都删掉了 也出现了你这种问题 我又加了一个中文输入法 这种问题就没有了 你试试
------解决方案--------------------
嗯 我以前发过同样的帖子
http://topic.csdn.net/u/20090712/19/d46be24f-04ee-43cc-9abf-a4506d39a879.html
john_sheep说的很对:
这个小窗口是JAVA为了适应各个国家的语言输入做的一个东西。
反正是看着不爽。而且在使用智能拼音这类输入法时,输入过多的字符,会引发虚拟机的崩溃。楼主可以亲自试试。
而且这个东西跟jdk,jre的版本有关系,某些jdk,jre版本在使用过程中就不会出现,某些会出现。
你可以选择使用awt,这样就不会有那个输入窗口。
然后你也可以这么试试
public class MyTextField extends javax.swing.JTextField {
public InputMethodRequests getInputMethodRequests() {
return null;
}
}
这样也是会隐藏起来。
但是这样做,不能确定会不会对你的程序带来什么?比如不稳定或是其他什么问题。所以使用起来需要谨慎。