`
Danker.Dai
  • 浏览: 67247 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java 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中即可

分享到:
评论
4 楼 lliiqiang 2014-07-16  
System.setProperty("java.awt.im.style","on-the-spot"); 有的时候需要输入下拉框必须这么做.
3 楼 canca 2012-08-13  
谢谢啊!!好使!
2 楼 saram 2010-11-11  
正好要解决这个问题,使用你提供的第一种方法,挺好的,谢谢了!
1 楼 meadlai 2010-09-27  
你好,这个Java的输入法小框,还有其它办法去掉吗?

相关推荐

    基于设计模式的Java swing交互式界面模式的应用研究与实现

    随着计算机与软件的进步,人机交互...如编辑框,滚动条,弹出菜单等的做法,由此形成了一个开发swing风格界面的 集成界面模板工具。最后,文章结尾总结了提出和研究设计的这套方案在意义和不足,以及进一步的工作。

    第9章Java-Swing图形用户界面-Java面向对象程序设计教程-微课视频-程杰-清华大学出版社.pptx

    9.1 Java Swing概述 9.2 JFrame窗口 9.3布局管理器 9.4 常用控件 9.5事件处理机制 9.6 JDialog对话框 9.7 应用实例:打地鼠小游戏 第9章Java Swing图形用户界面 第9章Java-Swing图形用户界面-Java面向对象程序设计...

    java源码包---java 源码 大量 实例

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    图形用户界面(Java/GUI):学习资料-ppt

    (5)对话框和消息框:对话框是弹出的小窗口,用于获取用户输入或显示信息。 (6)图像处理和绘图:Java的GUI应用程序可以处理图像和进行自定义绘图。 4.阅读建议: 要开始Java GUI开发,你需要对Java语言有一定的...

    Java计算器实验报告(1).doc

    计算方面,调用ScriptEngineManager和ScriptEngine两 个类,直接通过eval函数直接把输入文本当作JS代码执行,输出执行结果,这样报错也 会直接实现,另把文本框设置不允许直接从键盘输入以防止出现安全事件。...

    JAVA上百实例源码以及开源项目

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    JAVA上百实例源码以及开源项目源代码

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    java源码包4

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包3

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包2

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    chatRoom 聊天室

    * 弹出输入对话框,提示输入服务器需要绑定的端口号 */ int port = Integer.parseInt(JOptionPane.showInputDialog(jf, "bind port:")); try { ss = new ServerSocket(port); System.out.println("server ...

    java窗体GUI所有组件学习

    // 主窗体 继承 窗体基本格式 类 Jframe 以下弹出窗口均继承 Jframe class MainFrame extends Jframe implements ActionListener { JMenuBar menubar = new JMenuBar();;// 菜单条 JMenu jmenu[] = new JMenu...

    java课程设计班级通讯录设计报告.doc

    可通过"操作"菜单 "查询"命令打开一个窗口,以键入联系人姓名进行联系人的查找,输入相关信息后单击 "确定"按钮即可,即可弹出一个窗口查看联系人信息。 3. 类的设计 由于系统需要链接数据库,所以先设计一个类进行...

    21天学通Java-由浅入深

    264 13.7 小结 265 13.8 习题 265 第三篇 应用篇 第14章 Swing桌面程序开发(精彩视频:70分钟) 268 14.1 开发第一个Swing程序 268 14.2 JFrame窗口类 269 14.2.1 JFrame窗口类简介 269 14.2.2 创建简单窗体 269 ...

    JAVA项目开发全程实录(含电子书和所有源代码)

    8.11.1 页面弹出窗口控制 397 8.11.2 FileUpload组件获取表单中的值 399 8.11.3 配置全局Tomcat连接池 399 8.12 Proxool连接池 400 8.12.1 Proxool安装 400 8.12.2 Proxool使用 400 8.13 本章总结 402 第9章 BBS系统...

    Java开发技术大全 电子版

    14.13.1增加弹出式菜单558 14.13.2“退出”菜单的响应代码559 14.13.3覆盖JFrame的processWindowEvent方法560 14.13.4监听JTextArea的DocumentEvent事件560 14.13.5“另存为…”菜单的响应代码561 14.13.6...

Global site tag (gtag.js) - Google Analytics