如何创建用于搜索的文本字段(具有类似Google搜索的提示)

|| 我想使用Java swing制作PC的窗口应用程序。我想在那里做一个文本字段。在输入该文本字段时,我需要它在该文本字段下显示提示。用户可以从列表中选择所需的文本。就像Google搜索在浏览器中一样。因此,我需要两个函数,第一个很简单:通过已经键入的文本过滤一组字符串。但是如何在列表中显示它们呢? EDIT1:如果过滤后有要显示的内容,则需要显示列表,并且需要使用向上和向下键进行选择。与Google搜索相同,但在PC应用程序上。     
已邀请:
        
JComboBox
是通常的选择。
AutoCompleteJComboBoxer
是我尝试过的。     
        我建议您将DocumentChangeListener添加到JTextField中,以监视插入/删除/更新的字符:
JTextField textField = new JTextField;
textField.addDocumentListener (new DocumentListener() {
  public void changedUpdate(DocumentEvent e) {
  }
  public void removeUpdate(DocumentEvent e) {
  }
  public void insertUpdate(DocumentEvent e) {
  }
}
);
看一下本教程。   所以我需要两个功能   一个很简单:过滤一组字符串   通过已经键入的文本。 现在您有了键入的文本,请过滤您的字符串集。在选择一种有效的方法从数据结构存储和检索字符串时要小心。使用很多字符串进行排序可能并不容易。 (我认为如果您设置的字符串很大的话,使用ArrayList很难做到这一点。)   但是如何在列表中显示它们呢? 我认为您可以使用JLabel。 另外,您可以尝试使用实现自己的ComboBoxModel的JComboBox。我不知道是否可以始终打开组合框。     
        好吧....在JTextField中,为按键添加一个侦听器,然后在按下任何按键时,立即使用set对所有相关元素进行排序。一种选择是使用String到toChar来获取每个字符,然后将记录发布到JList中。 其次,最好将记录保存在XML中,然后跟踪就容易了,可以轻松地应用任何排序算法逻辑。     

要回复问题请先登录注册