Я делаю программу на Java, которую пользователи могут входить в систему и загружать данные определенным людям в программе. Но я хочу создать панель поиска, чтобы кто-то мог набирать «Joe», и он показывал бы кого-нибудь с именем «Joe» в файле. Каждое зарегистрированное имя будет сделанным файлом, поэтому «Joe Rico» будет иметь папку с именем «Joe Rico». Я планирую использовать AWT для системы GUI, если это имеет значение, и это будет Java-апплет, если это имеет значение. (Файловая система будет храниться на веб-сервере, и некоторые пользователи будут иметь определенные разрешения). Спасибо за помощь!Как я могу сделать окно поиска в Java
ответ
Там много вопросов здесь, и ваш вопрос очень расплывчато - можно задавать любой из следующих вопросов:
Как сделать поиск окно?
Вы спрашиваете, как правильно внедрить окно поиска в AWT. Во-первых, используйте Swing, это намного лучше. Оттуда ресурсы, такие как How to use Text Fields, будут очень полезны.
Как сделать поисковое приложение?
Вы спрашиваете, как реализовать поисковое поведение в графическом интерфейсе. В этом случае ключевой концепцией, которую вам нужно понять, является Model View Controller, что позволит вам отделить вашу бизнес-логику от вашего графического интерфейса чистым и эффективным способом.
Как эффективно искать данные?
Вы запрашиваете структуры данных, которые подходят для поиска. Классическим ответом является Binary Search Tree или алгоритм бинарного поиска, например
Collections.binarySearch()
, который позволяет выполнять поиск вO(log n)
времени. Это может быть или не быть достаточным для вашего варианта использования, но другой возможной опцией является Trie, который обеспечивает быстрый префикс-поиск. Если эти основные структуры данных недостаточно хороши для вашего случая использования, читайте дальше.Как хранить данные для эффективного поиска?
Очень сильно зависит от того, что вы пытаетесь сделать, но концепция называется Serialization. Java обеспечивает сериализацию поведения, но лично я предпочитаю использовать JSON, а потрясающая библиотека Gson от Google делает это довольно безболезненным.
Какие существуют инструменты для обеспечения поиска для меня?
Если ответ № 3 был недостаточно хорош, вы ищете что-то более мощное. У вас есть два основных варианта, в зависимости от ваших потребностей. Либо Relational Database, либо Search/Индексная библиотека. Есть бесчисленное множество вариантов базы данных, но мне нравится H2 для быстрой работы с Java. Правильный инструмент поиска, например Lucene, почти наверняка переполнен для ваших нужд, но вариант существует.
Надеюсь, что часть этого ответа на ваш вопрос. В будущем попытайтесь создать вопросы, которые могут иметь конкретный ответ. Вопросы, которые являются открытыми и оставляют понятие «ответа» неопределенным, очень трудно правильно адресовать.
Зачем использовать AWT? –
Я пробовал использовать массивы и т. Д. Просто интересно, есть ли лучший способ. – StackOverload
Отправьте свой код ... –