Как получить текст из jtextfield и перейти к строке jtable на основе текста? - PullRequest
0 голосов
/ 29 октября 2019

У меня есть 1 столбец с 100 именами, все от А до Я. Я должен выбрать 1. Я хочу иметь возможность вставить несколько букв в поле jtext, нажать клавишу ввода и выбрать строку, соответствующую тексту,Как мне это сделать?

Например, я набираю "Bro", нажимаю ввод, и выбор переходит к первому имени, начинающемуся с "Bro". Я не имею в виду фильтр, я хочу пропустить его.

1 Ответ

1 голос
/ 29 октября 2019

У меня есть 1 столбец

Так почему вы используете JTable? Почему бы не использовать JList?

Я хочу иметь возможность вставить несколько букв в поле jtext, нажать клавишу ввода,

Вы можете выполнять поиск, так как каждая букванабирается (или удаляется) вместо того, чтобы заставлять пользователя нажимать Enter.

  1. Создайте JTextField для ввода имени для поиска:
  2. Добавьте DocumentListener в Document of textполе. Прочитайте раздел учебника Swing по Прослушивание изменений в документе для ознакомления с основами.
  3. В DocumentListener вы получите модель вашего JList (или JTable), а затем перебираем каждый элемент в модели, чтобы найти индекс первого элемента, который начинается с текста в текстовом поле.
  4. Если вы используете JList, тогда вы просто используете метод setSelectedIndex(...)выберите строку и метод ensureIndexIsVisible(...), чтобы перейти к строке
  5. , если вы используете JTable, то вы используете метод changeSelection(...), чтобы выбрать строку, а затем метод scrollRectToVisible(...), чтобы перейти кстрока с использованием данных из метода getCellRect(...).
...