您正在创建一个应用程序,我在其中使用JTable列出文件或文件夹名称。
我的问题是: 如何在Windows中查找和搜索JTable中的特定文件或文件夹。 在Windows目录列表中,当我们按任意键时,我们可以看到选择了该字符的文件或文件夹,如果我们再次按下相同的键,则选择下一个文件/文件夹,并以该字符开头。
答案 0 :(得分:2)
如果您可以(并且您愿意)使用第三方UI组件,则开源JIDE公共层提供了一些不错的组件:例如你可能会喜欢FolderChooser,它具有自动查找功能。
以下是链接:JIDE Common Layer。如果单击“运行它”按钮,您可以通过Java Web Start查看示例。
我在我的项目中使用了很多JIDE组件(只有开源组件),并避免多次重新发明轮子。
希望这对你有所帮助。
答案 1 :(得分:2)
如果您可以使用第3方代码,我建议您查看SwingX项目。他们的JXTable
,JXTree
,JXList
和其他一些类提供了Searchable
界面的实现,这使得创建搜索小部件变得轻而易举。
如果这太难了,他们提供开箱即用的JXFindPanel
,提供用于搜索Searchable
的用户界面
答案 2 :(得分:1)
您希望在键入密钥时执行操作吗? - >将keyListener添加到表
您想知道哪一行有效 - >查询连接到jtable的数据模型
您想要更改选定的行吗? - >在监听器的密钥实现中更改选择
table.getSelectionModel().setSelectionInterval(1,1);
答案 3 :(得分:1)
由于我不知道您是如何实现代码逻辑的,JTable实现了排序和过滤
但你的描述是关于JTreeTable
答案 4 :(得分:1)
我会考虑编写一个自定义TableCellRenderer
,负责突出显示正在呈现的String中的任何匹配字母。当有人更新搜索文本字段时,最简单的方法是重新绘制整个JTable
以显示表格单元格的更新“匹配状态”。