使用Java Swing,如何实现一个搜索框,其中包含类似于Web浏览器或iTunes的选项?

时间:2015-10-15 21:58:40

标签: java swing search jcombobox

我不知道如何标题这个问题,所以欢迎提出修改。

现在,我有一对相当简单的JComboBox用于搜索row&热图显示中的列标题。它增强了允许使用通配符的能力。这是它的样子:

Current Row Search Implementation

它运作良好,但下一版本的新要求是将这对搜索框合并为一个搜索框以及一些其他增强功能。基本上,我们要做的是输入一个搜索词,结果下拉列表有2个部分:1个用于选项,另一个用于匹配结果。期望的选项将是这样的:

  1. 搜索行/列复选框
  2. 歌曲/艺术​​家/流派复选框(使用iTunes类比)或google / bing(使用浏览器类比)
  3. 在之前的搜索结果中搜索:比如先前的搜索字词包含' x'旁边要清除它。它就像一个过滤器。
  4. 关于这一点的是,将2个搜索框合并为1的愿望是简化界面,但与此同时,我们需要这个额外的功能。

    JComboBox似乎无法处理这样的事情,而我对替代品的搜索并不能产生任何结果。我知道这个问题在某种程度上是一个广泛的设计问题,可能不适合堆栈交换。我还是比较新的Java,所以任何建议都值得赞赏。

    更新:其中一位评论者要求更具体的内容,并根据背景指出存在不同类型的iTunes搜索,我想消除歧义。看看iTunes是如何做到这一点的,我决定试着模拟我认为我可以做的事情:

    mock-up idea for search options & filters

    因此,考虑到这个具体的例子,我设想将组合框和搜索选项分开,可能是使用一个看起来像iTunes的按钮显示的JMenu。搜索选项功能。

    所以我的进化问题是(基于上面的模型):

    1. JMenu可以这样做,还是应该使用其他类型的按钮启动菜单?
    2. 菜单选择是否会触发JComboBox提供的列表的重新填充,或者会产生不良的副作用?
    3. 如何减轻在搜索字段两侧显示下拉的混淆?

0 个答案:

没有答案