【问题标题】:Word suggestion textbox under textfield - java文本字段下的单词建议文本框 - java
【发布时间】:2015-04-17 05:11:17
【问题描述】:

我正在尝试创建一个文本框,该文本框显示在带有单词建议的 JTextField 下。

例如,如果用户键入“d”,则文本框会出现在 jtextfield 下方,并带有一个建议的单词,例如“dog”以及任何其他以“d”开头的单词。

我不知道该怎么做,我研究过的解决方案也没有奏效。

到目前为止,我认为我需要创建一个单词数组列表来与用户键入的内容进行比较,然后可能在文本字段下方放置一个jcombobox,并在用户键入时将可见性设置为 true。我该怎么办?

另外,我想这样做,以便用户可以按向下/向上键选择建议的单词并按 Enter,jfield 将被建议的单词替换。

不过可以稍后添加。现在我只需要一个简单的解决方案。

感谢所有提供帮助的人!

【问题讨论】:

  • SwingLabs,SwingX 库支持自动完成,适用于 example
  • SwingX 是一个第三方库,您可以将其包含在您的项目中(如果您使用的是 maven,很容易找到,否则您需要 [下载]9https://java.net/projects /swingx/downloads/directory/releases)它)。如果这很简单,我们就不需要第三方库
  • 查看我第一条评论中的链接示例以获得建议,如果您仍有问题,我会再做一个示例

标签: java swing user-interface autocomplete autosuggest


【解决方案1】:

这样的? :

autocomplete

还是这个?

autocomplete

真的,Google 是你的朋友。

【讨论】:

  • serialVersionUID 用于序列化,此代码能否正常工作并不重要。枚举是用来告诉你当前处于什么状态,找到或没有找到,我建议你研究代码,调试一下,看看它是如何工作的,并从中学习。
  • 只链接答案并强烈劝阻,因为链接往往会死
  • 而且(就个人而言),我也不建议这样做,因为第一个是限制(在实现 PlainDocument 时),并且两者都是为了尝试从 Document 变异过程的上下文中修改 textField,但那是我
【解决方案2】:

你可以使用 jquery autocomplete.


我们已经将它与 jsf 一起使用。我们公开了一个 REST Web 服务并使用 jquery 自动完成功能来调用该 Web 服务并显示建议。

如下code:

$("#mainIngredientAutoComplete").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "../api/IngredientChoices",
                dataType: "json",
                response: ($.map(data, function(v,i){
                    return {
                        label: v.MainName,
                        value: v.MainItemID
                    };
                }))
            });
        }
    });

【讨论】:

  • 他正在使用swing,所以我怀疑他可以使用jquery。
  • Jquery 在客户端运行
  • 浏览器的你知道swing是什么吗?
  • 是的,它是一个用于 web 应用程序的 java 框架,但这并不意味着不能使用 jquery。
  • 哦,真的,我从来没用过。但是已经将它嵌入到 jsf 中,所以认为它可能对 swing 也有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-12
  • 2011-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多