Swing下,一些输入法不能显示输入框的问题。查找了很长时间,找不到解决办法

vagrant_zy 2012-09-24 11:06:12
在Swing里的输入框,比如JTextField中,用中文状态输入文字。有一些输入法无法显示输入框。比如王码五笔

这个问题困扰了我很久。不能换输入法(很多新输入法是OK的),也不能换Swing

难道在Swing下,这个问题就无解了吗?
...全文
551 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxuummeenngg 2012-09-27
  • 打赏
  • 举报
回复
Myeclipse中的程序打包后,又会出现问题
江湖啊江湖 2012-09-27
  • 打赏
  • 举报
回复
稍稍贴下代码看下,我怎么没出现过这种情况。
xxuummeenngg 2012-09-27
  • 打赏
  • 举报
回复
在Myeclipse中可以,但在netbeans中就会出现问题
oO临时工Oo 2012-09-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

用智能五笔还会直接崩溃
[/Quote]
错了,是智能 ABC
oO临时工Oo 2012-09-27
  • 打赏
  • 举报
回复
用智能五笔还会直接崩溃
vagrant_zy 2012-09-24
  • 打赏
  • 举报
回复
这个问题我在猪八戒发布了有偿需求
http://task.zhubajie.com/2047732/
vagrant_zy 2012-09-24
  • 打赏
  • 举报
回复

补充一下,是无法显示输入法的候选字框。
vagrant_zy 2012-09-24
  • 打赏
  • 举报
回复
不是弹出。。。。

[Quote=引用 2 楼 的回复:]

java Swing 里面的文本框在输入的时候会弹出一个“输入窗口”,这个窗口让人看起来很不爽,而且有如下几个bug:

1. 在某些版本的jvm下,有很多层的模式对话框的时候,最上面正在使用模式对话框可能会被隐藏,导致找不到该对话框。

2. 在该“输入窗口”输入太多字符会导致jvm崩溃

有什么好的办法去掉这个“输入窗口”呢。

其实这个问题出在jre rt.jar 中的su……
[/Quote]
  • 打赏
  • 举报
回复
以上转贴
来源:http://java.chinaitlab.com/Swing/803967.html
以前开发swing遇到这个问题,找到这个时已不做swing开发,即是没有验证
  • 打赏
  • 举报
回复
java Swing 里面的文本框在输入的时候会弹出一个“输入窗口”,这个窗口让人看起来很不爽,而且有如下几个bug:

  1. 在某些版本的jvm下,有很多层的模式对话框的时候,最上面正在使用模式对话框可能会被隐藏,导致找不到该对话框。

  2. 在该“输入窗口”输入太多字符会导致jvm崩溃

  有什么好的办法去掉这个“输入窗口”呢。

  其实这个问题出在jre rt.jar 中的sun.awt.im.InputMethodContext类

  该类中有个 private static boolean belowTheSpotInputRequested;属性 尝试用xjad反编译该类我们可以看到以下代码:

  static

  {

  String s = (String)AccessController.doPrivileged(new GetPropertyAction("java.awt.im.style", null));

  if (s == null)

  {

  Toolkit.getDefaultToolkit();

  s = Toolkit.getProperty("java.awt.im.style", null);

  }

  belowTheSpotInputRequested = "below-the-spot".equals(s);

  }

  因为系统缺省的style属性是“below-the-spot” 所以会导致belowTheSpotInputRequested=true; 就会导致输入中文时出现小窗口

  所以解决的办法

  1.是在main函数中System.setProperty("java.awt.im.style","on-the-spot");

  2.将belowTheSpotInputRequested直接设置为false,编译后放入rt.jar中即可
  • 打赏
  • 举报
回复
这是个大问题

62,610

社区成员

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

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