使用JavaSwing,如何实现具有类似于web浏览器或iTunes的选项的搜索框?

使用JavaSwing,如何实现具有类似于web浏览器或iTunes的选项的搜索框?,java,swing,search,jcombobox,Java,Swing,Search,Jcombobox,我不知道如何命名这个问题,所以建议编辑是受欢迎的 现在,我有一对非常简单的JComboBox,用于在热图显示中搜索行和列标题。它还增加了允许使用通配符的功能。下面是它的样子: 它工作得很好,但下一个版本的一个新要求是将这对搜索框合并为一个搜索框和一些其他增强功能。基本上,我们要做的是输入一个搜索词,并将结果下拉列表分为两部分:一部分用于选项,另一部分用于匹配结果。所需的选项如下: 搜索行/列复选框 歌曲/艺术家/流派复选框(使用iTunes类比)或谷歌/必应(使用浏览器类比) 在以前的搜索结果

我不知道如何命名这个问题,所以建议编辑是受欢迎的

现在,我有一对非常简单的JComboBox,用于在热图显示中搜索行和列标题。它还增加了允许使用通配符的功能。下面是它的样子:

它工作得很好,但下一个版本的一个新要求是将这对搜索框合并为一个搜索框和一些其他增强功能。基本上,我们要做的是输入一个搜索词,并将结果下拉列表分为两部分:一部分用于选项,另一部分用于匹配结果。所需的选项如下:

  • 搜索行/列复选框
  • 歌曲/艺术家/流派复选框(使用iTunes类比)或谷歌/必应(使用浏览器类比)
  • 在以前的搜索结果中搜索:例如,在以前的搜索词旁边有一个“x”来清除它。它的作用就像一个过滤器
  • 关于这一点,我们希望将2个搜索框合并为1个,这是为了简化界面,但同时,我们需要这个附加功能

    JComboBox似乎无法处理这样的事情,而我对备选方案的搜索也不会产生任何结果。我知道这个问题在某种程度上是一个广泛的设计问题,可能不适合堆栈交换。我对Java还是相当陌生的,所以任何建议都非常感谢

    更新:其中一位评论者要求提供更具体的内容,并指出存在基于上下文的不同类型的iTunes搜索,我想澄清这一点。看看iTunes是如何做到这一点的,我决定尝试模拟一幅我认为我可以做到的图形:

    因此,在这个特定的例子中,我设想将组合框和搜索选项分开,可能会使用一个类似iTunes搜索选项功能的按钮来显示JMenu

    因此,我的问题是(基于上述模型):

  • JMenu可以这样做吗?或者我应该使用另一种类型的按钮启动菜单吗
  • 菜单选择是否会触发JComboBox提供的列表的重新填充,或者是否会产生不良副作用
  • 我如何才能减轻在搜索字段两侧都有下拉列表的混乱

  • 您的总体需求是相当复杂的,您需要某种弹出窗口,它可以包含您想要的搜索结构。根据您所谈论的iTunes版本,搜索的效果似乎有所不同。如果您需要在多个属性之间进行搜索,我建议您从可搜索的概念开始,允许您添加/删除“可搜索”元素,然后每个元素都有自己的UI表示,作为一个概念,这个问题似乎过于宽泛。它可以归结为“我该如何实现搜索引擎?”你可能想改写你的问题,这样你就可以问一些具体的问题。它很宽泛,你是对的。只是不知道该走哪条路。是的,这是一个复杂的需求,尽管它在当今流行的应用程序中有一定的基础,我们只是试图模仿它,以获得与简单化/直观/干净设计相结合的功能深度。我很高兴你提到iTunes搜索,因为我忽略了一个方面:搜索气泡有一个单独的放大镜下拉菜单供选择。像这样的东西可以简化事情,尽管我不认为我能像iTunes那样把它放在组合框中。