найти и выбрать в JTable
Я создаю приложение, в котором я использую JTable для перечисления имен файлов или папок.
Мой вопрос:: Как я могу найти и выполнить поиск определенного файла или папки в JTable, как в Windows. В списке каталогов windows, когда мы нажимаем любую клавишу, то мы можем видеть, что файл или папка начинается с этого символа выбран, и если мы снова нажимаем ту же клавишу, то следующий файл / папка выбирается с началом с этим символом.
5 ответов:
Если вы можете использовать код 3-й стороны, я бы предложил взглянуть на проект SwingX. Их
JXTable
,JXTree
,JXList
и некоторые другие классы предоставляют реализацию интерфейсаSearchable
, что делает создание виджета поиска легким делом.И если это даже слишком сложно, они предоставляют out-of-box a
JXFindPanel
, который предоставляет пользовательский интерфейс для поиска aSearchable
Если вы можете (и вы хотите) использовать компоненты пользовательского интерфейса сторонних разработчиков, общий слой JIDE с открытым исходным кодом предлагает несколько хороших компонентов: например, вам может понравиться FolderChooser, который имеет функцию автоматического поиска по мере ввода.
Вот ссылка: JIDE Common Layer. Если вы нажмете кнопку "запустить его", вы можете увидеть пример через Java Web Start.
Я использовал много компонентов JIDE (только с открытым исходным кодом) в своих проектах и избегал изобретать колесо. раз.
Надеюсь, это поможет вам.
Вы хотите, чтобы действие происходило при вводе ключа ? -> добавить keyListener к вашему столу
Вы хотите знать, какая строка допустима - >запрос вашей модели данных, подключенной к вашей jtable
Вы хотите изменить выбранную строку ? -> в keytyped реализации вашего слушателя измените выбор
table.getSelectionModel().setSelectionInterval(1,1);
Поскольку я ничего не знаю о том, как вы реализовали логику кода, JTable реализовал сортировку и фильтрацию
Но вы говорите о JTreeTable