2015-06-25 5 views
1

То, что я пытаюсь достичь, - это JTextField с нижним значением JTable, каждый раз, когда происходит изменение на JTextField (введите или удалите символ) JTable обновит, показывая результаты из его списка строк, которые соответствуют тому, что написано на JTextField, и показывая все результаты, если пустые.Создание динамического поля поиска/таблицы в Java

То, что я не знаю, как это сделать:

  1. Как установить событие на JTextField, который вызывает каждый его текст изменяет
  2. Заставить JTable обновлять свои значения эффективным способом, без использования слишком много памяти
+0

1.Используйте KeyListener на JTextField. 2. Это зависит от того, какой алгоритм вы используете для определения совпадающих строк. – Amber

+0

Это очень простой школьный проект, возможно, только String.matches (s) или String.indexOf (s) – Mojimi

+0

В своем последнем вопросе вы заявили, что читаете учебник Oracle по GridBagLayout. Ну, я также предлагаю вам прочитать раздел «Как использовать таблицы» из того же урока. Он показывает, как использовать фильтр на JTable, который делает именно то, что вы хотите. Учебное пособие (а не форум) должно стать первым местом для начала работы Swing. – camickr

ответ

1

Добавить DocumentListener в ваш JTextField. Обновите TableModel, принадлежащих вашему JTable со спичками. JTable обновится в ответ.

+1

@Mojimi читает учебник Oracle - Как использовать таблицы [для примера рабочего кода] (http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/ учебник/uiswing/примеры/компоненты/TableFilterDemoProject/SRC/компоненты/TableFilterDemo.java) – mKorbel

Смежные вопросы