Java jTable索引是错误的

Java jTable索引是错误的,java,swing,jtable,Java,Swing,Jtable,当我在jtable中选择行时,它总是返回-1作为表行索引 这是我将数据填充到jtable的方式: private void addResultToRecTable(DefaultTableModel dtm, ArrayList<RecipeModule> al) { if (al != null) { int rowCount = dtm.getRowCount(); for (int i = 0; i < rowCount; i++

当我在jtable中选择行时,它总是返回-1作为表行索引

这是我将数据填充到jtable的方式:

private void addResultToRecTable(DefaultTableModel dtm, ArrayList<RecipeModule> al) {

    if (al != null) {
        int rowCount = dtm.getRowCount();
        for (int i = 0; i < rowCount; i++) {
            dtm.removeRow(0);
        }

        for (int i = 0; i < al.size(); i++) {
            String[] recArray = {al.get(i).getRecID(), al.get(i).getRecName(), al.get(i).getRecCategory(), al.get(i).getRecQty(), al.get(i).getRecUnit()};
            dtm.addRow(recArray);

        }
    }
在我把数据填到表中之后。我在表中选择了一行,并打印出选定的行索引。然后我犯了这个错误

private void tableRecSearchKeyReleased(java.awt.event.KeyEvent evt) {   
    try{
        int selectedRow = tableRecIngredients.getSelectedRow();
        System.out.println(selectedRow);
    }
但我得到了这个错误:

java.lang.ArrayIndexOutOfBoundsException: -1
我不确定是什么问题。有什么建议吗

private void tableRecSearchKeyReleased(java.awt.event.KeyEvent evt)
我不知道那件事是什么。可能行选择尚未完成

如果您想知道行选择何时更改,请向表中添加ListSelectionListener

table.getSelectionModel().addListSelectionListener(...);
有关更多信息和示例,请阅读上Swing教程的部分

    //int rowCount = dtm.getRowCount();
    //for (int i = 0; i < rowCount; i++) {
    //    dtm.removeRow(0);
    //}
我不知道那件事是什么。可能行选择尚未完成

如果您想知道行选择何时更改,请向表中添加ListSelectionListener

table.getSelectionModel().addListSelectionListener(...);
有关更多信息和示例,请阅读上Swing教程的部分

    //int rowCount = dtm.getRowCount();
    //for (int i = 0; i < rowCount; i++) {
    //    dtm.removeRow(0);
    //}

你能用异常堆栈跟踪编辑你的问题,这样人们就可以看到异常发生的位置吗?为什么不让它从单击的内容中选择行?你能用异常堆栈跟踪编辑你的问题,这样人们就可以看到异常发生的位置吗?为什么不让它从单击的内容中选择行?