我现在正在像所有人一样获得jTable的价值:
String d = jTable1.getModel().getValueAt( jTable1.getSelectedRow() , row ).toString();
事实是,现在我在用排行器对jTable进行排序:
sorter = new TableRowSorter<TableModel>(modelo);
jTable1.setRowSorter(sorter);
private void filterTable(){
//If current expression doesn't parse, don't update.
try {
rf = RowFilter.regexFilter("(?iu)"+jFilter.getText(),0,1,2,3,4);//no filtrar la columna con imágenes porque hace cualquiera
} catch (java.util.regex.PatternSyntaxException e) {
return;
}
sorter.setRowFilter(rf);
}
问题:
过滤完表格后,函数getSelectedRow返回正确的行,但是getModel函数返回原始模型,而不是过滤后的模型...
问题:
过滤后如何从表中获取正确的值?
最佳答案
您可能需要使用convertRowIndexToModel将“行”值转换为模型索引值。
String d = Table1.getModel().getValueAt(convertRowIndexToModel(jTable1.getSelectedRow()) , column ).toString();
关于java - 获得JTable的真实选定值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21604032/