【问题标题】:How to create a search bar similar to Google search style in JAVA GUI如何在 JAVA GUI 中创建类似于 Google 搜索样式的搜索栏
【发布时间】:2014-12-20 10:44:19
【问题描述】:

我正在尝试在我的程序中创建一个类似于 google 搜索栏的搜索功能,当用户键入时,它实际上会搜索数据库并在JTextField 下方的弹出列表中显示当前结果。我是 Java GUI 编程的新手,因此我不清楚所有 Java 组件,因此很难找到满足我需求的合适组件,尤其是我需要用于文本字段下方的弹出下拉列表的组件。我希望一些专家能给我一些见解。

【问题讨论】:

  • 使用布局或者你可以使用Component.setBounds()方法将它们放置在准确的位置。
  • @VighaneshGursale 我了解有关布局管理器的部分,我试图弄清楚如何制作一个仅在用户在 jTextfield 上键入时才可见并出现的弹出列表或窗口。
  • 好的,所以你想要建议列表。我说的对吗?
  • @VighaneshGursale 当用户键入并选择其中的项目时,建议列表是否会出现在文本字段下方?
  • 你可以实现solr搜索,Apache开源。它有你想要的所有功能。

标签: java swing search user-interface searchbar


【解决方案1】:

SwingX API 有助于解决这个问题。您可以使用以下代码实现可编辑 ComboBox 的自动完成功能。

import javax.swing.*;
import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator;
import java.awt.*;
public class Demo {

    JFrame frame = new JFrame("");
    AutoCompleteDecorator decorator;
    JComboBox combobox;

    public Demo() {
        combobox = new JComboBox(new Object[]{"","Ester", "Jordi",
            "Jordina", "Jorge", "Sergi"});
        AutoCompleteDecorator.decorate(combobox);
        frame.setSize(400,400);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new FlowLayout());

        frame.add(combobox);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        Demo d = new Demo();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 2015-05-14
    • 2015-07-17
    • 1970-01-01
    • 2023-03-24
    • 2013-04-16
    相关资源
    最近更新 更多