如何从jtextfield获取文本并根据文本跳到jtable行?

问题描述 投票:0回答:1

我有1个列,包含100个名称,从A到Z。我必须选择1。我希望能够在jtextfield中插入几个字母,按Enter,然后选择与文本匹配的行。我该怎么做?

一个例子是,我键入“ Bro”,按Enter,然后选择内容跳到以“ Bro”开头的名字。我的意思不是过滤器,我想跳到它。

java swing jtable jtextfield
1个回答
0
投票
我有1栏
那么,为什么要使用JTable?为什么不使用JList?

我希望能够在jtextfield中插入几个字母,然后按Enter,

您可以在键入(或删除)每个字母时进行搜索,而不必强迫用户按Enter。

创建用于输入名称的JTextField进行搜索:

    将DocumentListener添加到文本字段的Document。阅读有关Listening For Changes on a Document的Swing教程中的部分,以了解基础知识。
  1. DocumentListener中,您将获得JList(或JTable)的模型,然后遍历模型中的每个项目,以找到以文本字段中的文本开头的第一个项目的索引。
  2. 如果使用JList,则只需使用setSelectedIndex(...)方法选择该行,然后使用ensureIndexIsVisible(...)方法滚动到该行
  3. [如果使用JTable,则使用changeSelection(...)方法选择行,然后使用scrollRectToVisible(...)方法使用来自getCellRect(...)方法的数据滚动到该行。
© www.soinside.com 2019 - 2024. All rights reserved.