JTextField 自动完成错误

2023-11-29

In 这个线程,我找到了一种实现方法AutoComplete特征在一个JTextField (and JComboBox,但这没有问题)。

当尝试在中实现此功能时JTextField它会抛出一些异常。以下代码将演示该问题。很简单,和我用的方式很相似JComboBox,工作正常。

有人可以帮我找到解决方案吗?

这是代码:
(请注意,我正在使用swingx)

import javax.swing.JList;
import org.jdesktop.swingx.JXFrame;
import org.jdesktop.swingx.JXTextField;
import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator;

public class ErrorDemo {

    public static void main(String[] args) {
        JXFrame frame = new JXFrame("Error Demo");
        JXTextField field = new JXTextField();
        String[] users = {"aaa", "bbb", "ccc"};
        AutoCompleteDecorator.decorate(new JList(users), field);

        frame.getContentPane().add(field);
        frame.pack();
        frame.setLocationByPlatform(true);
        frame.setDefaultCloseOperation(JXFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

这是我收到的错误消息:
(有点长 :D)

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at org.jdesktop.swingx.autocomplete.ListAdaptor.valueChanged(ListAdaptor.java:76)
    at javax.swing.JList.fireSelectionValueChanged(JList.java:1765)
    at javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1779)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
    at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
    at javax.swing.JList.setSelectedIndex(JList.java:2179)
    at javax.swing.JList.setSelectedValue(JList.java:2295)
    at org.jdesktop.swingx.autocomplete.ListAdaptor.setSelectedItem(ListAdaptor.java:98)
    at org.jdesktop.swingx.autocomplete.AutoCompleteDocument.setSelectedItem(AutoCompleteDocument.java:317)
    at org.jdesktop.swingx.autocomplete.AutoCompleteDocument.insertString(AutoCompleteDocument.java:265)
    at javax.swing.text.JTextComponent.replaceSelection(JTextComponent.java:1358)
    at javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction.actionPerformed(DefaultEditorKit.java:859)
    at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
    at javax.swing.JComponent.processKeyBinding(JComponent.java:2849)
    at javax.swing.JComponent.processKeyBindings(JComponent.java:2884)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2812)
    at java.awt.Component.processEvent(Component.java:5815)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:697)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:962)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:834)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661)
    at java.awt.Component.dispatchEventImpl(Component.java:4282)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Window.dispatchEventImpl(Window.java:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

没有JList涉及到你的代码。我认为它应该读成这样......

        org.jdesktop.swingx.autocomplete.AutoCompleteDecorator.decorate(field, Arrays.asList(users), false);

如果你想绑定一个JList to a TextField(以便文本字段将更新的选择JList) 你要decorate(JList list, JTextComponent textComponent, ObjectToStringConverter stringConverter)反而...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JTextField 自动完成错误 的相关文章

  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • 我是否需要安装 SQLite 才能使 SQLiteJDBC 正常工作?

    我想我只是没有 明白 如果我的计算机上尚未安装 SQLite 并且我想编写一个使用嵌入式数据库的 Java 应用程序 并且我将 SQLiteJDBC JAR 下载 导入到我的项目中 那么这就是我所需要的吗 或者 我是否需要先安装 SQLit
  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • 如何在 JavaFX 中连接可观察列表?

    我所说的串联是指获得一个新列表 该列表侦听所有串联部分的更改 方法的目的是什么FXCollections concat ObservableList
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • 如何在 JPQL 或 HQL 中进行限制查询?

    在 Hibernate 3 中 有没有办法在 HQL 中执行相当于以下 MySQL 限制的操作 select from a table order by a table column desc limit 0 20 如果可能的话 我不想使用
  • 提供节点名或服务名,或未知 Java

    最近我尝试运行我的 Java 项目 每当我运行它并将其打开到我得到的服务器地址时 Unable to determine host name java net UnknownHostException Caused by java net
  • Java 中如何将 char 转换为 int? [复制]

    这个问题在这里已经有答案了 我是Java编程新手 我有例如 char x 9 我需要得到撇号中的数字 即数字 9 本身 我尝试执行以下操作 char x 9 int y int x 但没有成功 那么我应该怎么做才能得到撇号中的数字呢 ASC
  • 如何在字段值无效的情况下更改 Struts2 验证错误消息?

    我在 Web 表单上使用 Struts2 验证 如果字段假设为整数或日期 则
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • 提高 PostgreSQL 1 亿数据左连接查询性能

    我在用Postgresql 9 2 version Windows 7 64 bit RAM 6GB 这是一个Java企业项目 我必须在我的页面中显示订单相关信息 有三个表通过左连接连接在一起 Tables TV HD 389772 行 T
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • 如何将 HTML 链接放入电子邮件正文中?

    我有一个可以发送邮件的应用程序 用 Java 实现 我想在邮件中放置一个 HTML 链接 但该链接显示为普通字母 而不是 HTML 链接 我怎样才能将 HTML 链接放入字符串中 我需要特殊字符吗 太感谢了 Update 大家好你们好 感谢
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • Java Swing - 如何禁用 JPanel?

    我有一些JComponents on a JPanel我想在按下 开始 按钮时禁用所有这些组件 目前 我通过以下方式显式禁用所有组件 component1 setEnabled false 但是有什么办法可以一次性禁用所有组件吗 我尝试禁用
  • 为什么\0在java中不同系统中打印不同的输出

    下面的代码在不同的系统中打印不同的输出 String s hello vsrd replace 0 System out println s 当我在我的系统中尝试时 Linux Ubuntu Netbeans 7 1 它打印 When I
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp

随机推荐

  • 在 Xamarin Forms 中定义 xmlns

    我创建了一个 Xamarin Forms 应用程序 我创建了另一个 PCL 库来保存颜色代码等 UI 常量 可移植项目名称为App PCL 库项目是实用程序 在我的 PCL 库中定义了这个 namespace App Utilities p
  • 如何在opencv中分割手写和打印数字而不丢失信息?

    我编写了一种算法 可以检测打印和手写数字并将其分段 但是在使用滑雪图像包中的clear border删除外部矩形手写数字时会丢失 任何阻止信息的建议 Sample 如何分别获得全部5个角色 从图像中分割字符 方法 对图像进行阈值处理 将其转
  • C# 串口和超级终端

    我正在使用 C 和 Serialport 和 com0com 虚拟串口 我的问题是我的 C 应用程序无法从超级终端接收数据 事件 DataRecived 未触发 如果我手动调用 readExisting 我什么也得不到 要测试此问题 您可以
  • C++进程的读内存

    我正在尝试读取地址的值 但我似乎无法真正做到这一点 我正在尝试获取 client dll 0xA9C0DC 0x00FC 我只是想从游戏中了解玩家的健康状况 这是我的代码 include
  • jboss 6.3.0:删除resteasy并使用jersey的好方法

    我正在使用球衣 这是我的 jboss 部署结构
  • 在 Firebase 安全规则中,如何阻止黑客运行脚本来注册您的网站?请记住我需要他们能够注册

    在 Firebase 安全规则中 如何阻止黑客运行脚本来注册您的网站 请记住 我需要他们能够在我的主页上进行外部注册 所以我不能说他们需要登录 我通过阅读 Firebase 安全文档了解了基本设置 但我担心它不够安全 特别是如果有人新创建了
  • 从存储在 sdcard 上的 png 文件创建位图 (Android)

    我尝试从 SD 卡上存储的 Png 文件创建位图 然后在 imageView 中设置该位图 但它不起作用 这是代码 import java io File import java io FileOutputStream import jav
  • 快速从字符串中获取整数值

    所以我可以这样做 var stringNumb NSString 1357 var someNumb CInt stringNumb intValue 但我找不到方法来做到这一点String 我想做这样的事情 var stringNumb
  • 如何使按钮在单击后立即不可见?

    我想知道如何使按钮可见 但单击时我希望它不可见 因此根本不会显示 button setOnClickListener new OnClickListener Override public void onClick View v Butto
  • rpy2 importr 因 xts 和 quantmod 失败

    我是 rpy2 新手 在使用 importr 导入 R 包 xts 和 quantmod 时遇到问题 Code is from rpy2 robjects packages import importr xts importr xts qu
  • Chartboost 与 XCode 6.1 的集成问题

    我在同一项目的 Xcode 6 0 中集成了 Chartboost 它工作正常 但当我将 Xcode 更新到 Xcode 6 1 时 桥接头文件无法成功编译 我已经在我的项目中添加了 Chartboost 框架 并添加了指南中提到的这些必需
  • Android 软键按钮隐藏视图的内容

    我在 Android 上带有软键按钮的设备上遇到布局太大的问题 总而言之 我的问题是为什么布局被配置为 匹配父项 其视图边界是否扩展到 真实 底部窗口 边界 而不是软键按钮上方 现在我的具体问题 使用 View 显示relativelayo
  • 如何使用 Vue Cli 3 添加对 PDF 文件的支持?

    我需要配置 Webpack 来接受和处理 PDF 文件url loader通过 Vue Cli 最新 vue config js module exports configureWebpack rules test pdf use load
  • Scala 下划线最小函数

    为了这个问题 我们创建一个值 val a 1 Nil 现在 我可以证明匿名函数可以用简写形式编写 如下所示 a map 2 是否可以写出这个函数的简写 a map x gt x 我的解决方案不起作用 a map 作为记录 a map 不起作
  • 使用 wkhtmltopdf 将当前页面打印为 pdf

    最近安装了 wkhtmltopdf 试图捕获整个页面的当前状态 但是 下面的方法似乎导航到该页面的初始状态 而没有用户输入的所有输入字段 PHP shell exec wkhtmltopdf http localhost www bolt
  • 包含 OSGi 捆绑包中的附加资源

    我正在开发一个 OSGi 包 它将服务实现为本地可执行文件的包装器 也就是说 该服务运行可执行文件ProcessBuilder 向其提供一些数据 并检索结果 我的问题是关于打包这个捆绑包的最佳方式 本机可执行文件包含许多相关数据文件 所有这
  • 当 commandButton 导航到页面时,f:viewAction 被忽略

    我对 JSF 2 2 功能有疑问
  • 为 mvc 创建一个 html 帮助器

    我是 mvc 新手 所以不确定这是否可行 我有一些 html 基本上使用一些图像来创建一个漂亮的圆角框 mvc3 中是否可以创建一个帮助程序函数 该函数允许我调用该帮助程序并将我想要的任何内容插入到 div 标签的主要区域中 这是我的htm
  • 是否可以使用 CSS 在 VML 路径上设置填充和描边颜色以及不透明度?

    例如 我想做如下的事情 myRedPath fillcolor red
  • JTextField 自动完成错误

    In 这个线程 我找到了一种实现方法AutoComplete特征在一个JTextField and JComboBox 但这没有问题 当尝试在中实现此功能时JTextField它会抛出一些异常 以下代码将演示该问题 很简单 和我用的方式很相