Swing 如何在程序中选择表中的一组特定行,而无需用户使用鼠标进行选择?

Swing 如何在程序中选择表中的一组特定行,而无需用户使用鼠标进行选择?,swing,Swing,我正在使用JTable。假设我有一个包含以下信息的表- **col1 col2 col3 col4** 行1---值1----- 行2--值2----- 行3——值3----- 行4——值3----- 行5——值1----- 行6——值1----- 行7——值2----- 行8——值1----- 我需要将col2值为“value1”的行复制到另一个表中 要手动(鼠标单击)选择行,有一个名为-getSelectedRows()的函数,工作将在几秒钟内完成,即 int[

我正在使用JTable。假设我有一个包含以下信息的表-

    **col1     col2    col3    col4**
行1---值1----- 行2--值2----- 行3——值3----- 行4——值3----- 行5——值1----- 行6——值1----- 行7——值2----- 行8——值1-----

我需要将col2值为“value1”的行复制到另一个表中

要手动(鼠标单击)选择行,有一个名为-getSelectedRows()的函数,工作将在几秒钟内完成,即

int[]行=可输入。getSelectedRows();//“rows”是获取表中行的索引数组

但是现在我需要做同样的事情,不需要选择鼠标。i、 e.int[]行应该不使用上述方法获取行索引,但我可以使用任何其他方法,而无需鼠标选择,即…

List searchedRows=new ArrayList();
List<String> searchedRows = new ArrayList<String>(); 
for (int rowIndex=0; rowIndex < rowCount; rowIndex++) {
  String value = (String)table.getValueAt(rowIndex,varColNumber); 
  if ("value1".equals(value)) {
    searchedRows.add(rowIndex);
  } 
 } 
 // here in the List searchedRows you have the rows numbers where the column is equals to the string "value1". 
对于(int rowIndex=0;rowIndex

希望有帮助。

他们是否返回行的索引?对我来说,它们似乎都是无效的方法……我不应该使用任何侦听器接口,因为我正在硬编码(即,选择具有值1的行,然后将它们复制到另一个表中),我相信您希望在表上强制选择。很抱歉我不知道你想要什么。您需要col2=“value1”所在行的索引?与行的选择无关?您可以循环并收集value1.equals.getValue(row,col)所在的行,但这并不美妙……很抱歉,让您感到困惑。我想这样做-int varColNumber=findColumn(可输入,“col2”);int rowCount=inputable.getRowCount();对于(int k=0;kfor(int rowIndex=0;rowIndex