如何在Java中创建搜索框

时间:2013-11-08 20:52:29

标签: java awt japplet search-box

我正在用Java创建一个程序,用户可以登录并将数据上传到程序中的某些人。但是,我想创建一个搜索栏,以便有人可以输入'Joe',它会在文件中显示名为'Joe'的任何人。注册的每个名称都将成为一个文件,因此'Joe Rico'会有一个名为'Joe Rico'的文件夹。如果重要的话,我计划将AWT用于GUI系统,如果这也很重要,这将是一个Java小程序。 (文件系统将存储在Web服务器上,某些用户将具有某些权限)。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

这里有很多问题,你的问题很模糊 - 你可能会问以下任何一个问题:

  1. 如何进行搜索

    您正在询问如何在AWT中正确实施搜索框。首先,使用Swing,它更好。从那里,How to use Text Fields等资源将非常有用。

  2. 如何制作搜索应用程序?

    您正在询问如何在GUI中实现搜索行为。在这种情况下,您需要了解的关键概念是Model View Controller,它可以让您以干净有效的方式从图形界面中划分业务逻辑。

  3. 如何有效搜索数据?

    您要求的数据结构有利于搜索。经典答案是Binary Search Tree或二分搜索算法,例如Collections.binarySearch(),可让您在O(log n)时间内搜索。对于您的用例,这可能或可能不够,但另一个可能的选项是Trie,它提供快速前缀搜索。如果这些基本数据结构不适合您的用例,请继续阅读。

  4. 如何存储数据以进行有效搜索?

    非常依赖于您正在尝试做的事情,但这个概念被称为Serialization。 Java本身提供了序列化行为,但是我个人非常喜欢使用JSON,而Google的真棒Gson库让这很轻松。

  5. 有哪些工具可以为我提供搜索行为?

    如果答案#3不够好,那么你正在寻找更强大的东西。根据您的需要,您有两个基本选择。 Relational DatabaseSearch /索引库。有无数的数据库选项,但我喜欢H2来快速进行Java工作。像Lucene这样的合适搜索工具几乎肯定会因你的需求而过度杀伤,但是存在选项。

  6. 我希望其中一些能回答你的问题。将来,尝试创建可以得到具体答案的问题。开放式问题并且“未回答”概念未定义的问题很难妥善解决。