我有一个 GUI,它显示了一个包含数千行和几列的表。当客户端使用我的搜索功能时,我正在尝试逐行迭代在 GUI 中找到的一些匹配项。我可以选择行来突出显示匹配,但我不知道使用什么方法来移动 GUI 窗口的焦点以移到下一个查找。
在下面的代码中,my_model 被实例化为一个扩展 AbstractTableModel 的简单类,my_table 是一个标准的 JTable。每当找到匹配项时,我希望能够将选定的间隔设置为下一个查找,并且我还希望将窗口焦点转移到中间有下一个查找。
int i, ln;
for ( i = 0, ln = my_model.getRowCount(); i < ln; i++ )
{
String cur_entry = (String)my_model.getValueAt(i, 1);
if ( ! cur_entry.contains(search_query) ) continue;
my_table.setRowSelectionInterval(i, i);
// This is where I'd like to focus the GUI window on row i.
String options[] = new String[]{"Find Next","Done"};
String initialValue = options[0];
int code = JOptionPane.showOptionDialog(null, "Continue Searching", "Find", 0, JOptionPane.QUESTION_MESSAGE, null, options, initialValue);
if ( code != 0 )
return;
}
让我知道是否需要任何进一步的信息。任何帮助将不胜感激。