我现在正在像所有人一样获得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/

10-08 23:49