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中即可
- 大小: 15.1 KB
- 大小: 15.6 KB
分享到:
相关推荐
1. **单击文本框弹出日历组件选择日期** 这种方式通常通过结合`JTextField`和自定义的日历对话框实现。用户点击文本框时,会弹出一个包含日历视图的对话框,用户可以在其中选择日期,然后选择的日期会显示在文本框...
在Java编程中,弹出模式窗口(模态对话框)是一种常见的用户界面设计方法,它主要用于实现特定功能时需要用户进行临时交互的情况,例如登录验证、信息确认等场景。本文将详细介绍如何在Java Swing框架下创建一个简单...
这个程序的核心在于利用Java的图形用户界面(GUI)组件来创建一个可交互的弹出窗口,提供基本的计算功能。 在Java中,AWT(Abstract Window Toolkit)是最早的GUI库,提供了诸如按钮、文本框等基本组件。Swing是...
Swing还包含了诸如JOptionPane这样的对话框组件,用于弹出信息提示、确认对话或输入框。JTabbedPane允许在单个窗口中组织多个组件,而JSplitPane则可以实现窗口的分割,便于用户查看和操作多部分内容。 对于国际化...
8. JOptionPane:对话框用于弹出信息、询问问题或获取用户输入,有多种类型,如信息对话框、警告对话框、确认对话框等。 Swing组件的使用通常涉及到事件监听和处理。例如,为按钮添加ActionListener,当按钮被点击...
- `JFrame` 是 Swing 中的一个顶层容器,用于表示应用程序的主要窗口。 - 方法介绍: - `setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);` 设置当用户关闭窗口时程序将退出。 - `setSize(int width, int height)...
4. **模态对话框**:如 JDialog 和 JOptionPane,提供弹出式交互界面。 在整合 Spring 和 Swing 的应用中,我们通常会利用 Spring 的 DI 来管理 Swing 组件的生命周期,以及处理业务逻辑。例如,我们可以创建一个 ...
开发者可能还利用了`JOptionPane`来弹出对话框,进行用户交互,如显示欢迎信息或错误提示。 Swing聊天程序的实现通常涉及到以下关键技术点: 1. **事件监听**:Swing组件支持事件驱动编程,这意味着当用户执行某个...
JProgressBar可以用来显示上传进度,而JOptionPane则可以用于弹出警告或确认对话框。 总的来说,这个Java Swing 文件批量上传DEMO涵盖了Java GUI编程、文件I/O、网络编程、多线程以及用户交互等多个方面,对于初学...
在本项目中,开发者可能利用了JFrame作为主窗口,JTable用于显示图书信息,JOptionPane用于弹出对话框提示用户操作结果。 图书库存管理系统的功能模块主要包括: 1. 新增图书:用户可以通过输入书名、作者、出版社...
当用户点击按钮时,会弹出文件选择对话框,允许用户选择多个文件。所选文件将被合并到一个名为"mergedFile.txt"的新文件中。 总结,基于Swing的文件操作实例展示了如何在Java桌面应用中结合用户交互和文件操作。...
本资源“精通Java Swing程序设计(中文CHM)”是一本专为初学者设计的指南,旨在帮助读者快速掌握Swing的基本概念和实际应用。CHM(Compiled HTML Help)文件是一种微软的编译型HTML帮助文档格式,方便用户在离线...
10. **JOptionPane**: 提供弹出对话框,如消息提示、确认对话框等。 Swing还提供了事件监听机制,使得当用户与组件交互时,程序能够响应这些事件。例如,你可以为JButton添加ActionListener,监听用户的点击动作。 ...
开发者可以通过这些类构建下拉菜单、弹出菜单,实现用户界面的交互功能。 5. **对话框** 对话框(JDialog)用于显示临时信息或进行用户交互。Swing提供了一些预定义的对话框,如JOptionPane,用于消息提示、确认...
Swing 提供了装饰器模式,使得我们可以方便地为组件添加视觉效果,如JOptionPane用于弹出对话框,JOptionPane.showMessageDialog()方法可以创建一个简单的信息对话框。同时,Swing 还支持组件的可定制性,可以创建...
8. **Swing 工具包(Utils)**:Swing 还提供了一些实用工具类,如 JOptionPane 用于弹出对话框,JOptionPane.showInputDialog() 就可以用来获取用户输入。 通过这个入门级的 Java Swing 教程,你将逐步学习如何...
此外,可能还会使用JOptionPane来弹出对话框,向用户提供确认信息或者错误提示。 由于项目目前尚未连接到数据库,所有的数据可能都是静态存储的,例如在内存中创建一个ArrayList来保存车辆信息。如果要实现数据库...
5. **对话框(Dialogs)**:用于弹出警告、确认、输入等,如JOptionPane和JFileChooser。 6. ** Swing的JApplet和JFrame**:JApplet用于网页嵌入,而JFrame是独立窗口应用的基础。 7. **线程(Threads)**:Java GUI...
- 没有弹出式菜单和滚动窗格等基本元素; - 基于同位体的体系结构存在严重缺陷; - 事件处理模型基于继承,不够灵活。 - **Swing的优势**: - 100%纯Java实现,不依赖于本地代码,这意味着Swing组件在不同的...