获取Swing以在没有提交按钮的情况下读取输入

时间:2012-02-24 15:52:22

标签: java swing submit

这是一项作业,因此回复不应包含为我编写的代码。

我编写了一个基本上是自动完成程序的程序。它需要一个单词并返回最佳匹配。

我正在尝试为它编写一个前端(我没有经验)并希望我的前端执行以下操作:我希望输入框始终为用户输入读取,将该值提供给另一个程序,并在下拉框中立即返回匹配,比如谷歌。我似乎无法找到有关如何执行此操作的任何信息,所有介绍教程都使用提交按钮。

任何人都可以向我解释如何做到这一点,或者指向一个可以解释它的资源?再一次,请不要为我编写代码,我不想在不知不觉中欺骗我的任务。

4 个答案:

答案 0 :(得分:6)

如果您使用的是JTextField,则可以在其上注册document listener

答案 1 :(得分:3)

如果您的输入框是JTextField,则可以添加DocumentListener (this is a good tutorial)来捕获字符条目。

答案 2 :(得分:2)

我认为没有人来自回答者......,我只是Don't reinvent the wheel

1)使用JTable和一个(或两个if about about Dictionary)列并使用Sorting and Filtering的基本建议(例如,从JTextField过滤的内容在教程中),{{ 1}}可能是JTable中最复杂的,并且有一切(非常简单)可能

2)使用AutoComplete JComboBox / JTextField

3)将JComponentsSwingX DecoratorJXList

一起使用

4)如果您需要将输出重定向到单独的窗口,则使用JXTable进行弹出窗口

答案 3 :(得分:0)

一种方法可能是:

  1. 附加处理程序以检测文本框上的按键。
  2. 从框中抓取文本,并构建一个可运行的“查找”事件,并将其提交给某种形式的服务,该服务将在未来的某个时间点发送(提示:ExecutorService,{{1 }})
  3. 保存此句柄,如果再次发生按键事件,请取消上一个并提交一个新句柄。
  4. 当事件将来执行并返回结果时,弹出一个显示项目列表的面板。