Java JTable仅显示1行

Java JTable仅显示1行,java,swing,jtable,Java,Swing,Jtable,我试图在JTable(两列)中显示结果集的一部分,但只能看到一行。 JTable位于现有GUI中,结果集传递给GUI类中的方法。 当我做一个向量大小()时,它返回一个。 这告诉我列表中只有一个条目。我应该看到4个条目,我看到的条目是我期望的最后一个条目 请参见以下方法: 任何帮助都将不胜感激 public static void getResultSet(ResultSet resultSet) throws SQLException { ResultSetMetaData

我试图在
JTable
(两列)中显示结果集的一部分,但只能看到一行。
JTable
位于现有GUI中,结果集传递给GUI类中的方法。 当我做一个
向量大小()
时,它返回一个。 这告诉我列表中只有一个条目。我应该看到4个条目,我看到的条目是我期望的最后一个条目

请参见以下方法: 任何帮助都将不胜感激

public static void getResultSet(ResultSet resultSet)  throws SQLException { 

        ResultSetMetaData metaData = resultSet.getMetaData();

                    //JTable name is resultsTable includes Scrollpane


         // names of columns

        Vector<String> columnNames = new Vector<String>();
        int columnCount = 2;
        for (int column = 1; column <= columnCount; column++) {
            columnNames.add(metaData.getColumnName(column));
            System.out.println("ColumnNames "+columnNames );
        }

     // data from the table

      //  Vector<Vector<Object>> data = new Vector<Vector<Object>>();
        Vector<Vector<String>> data = new Vector<Vector<String>>();
        while (resultSet.next()) {
            Vector<String> vector = new Vector<String>();
            for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
                vector.add(resultSet.getString(columnIndex)); 
            }

            data.add(vector);
            System.out.println("Vector Value = "+ data);
            System.out.println("Vector Size =" + data.size()); //Returning 1 - Should see 4 entries

            DefaultTableModel datamodel = new DefaultTableModel(data,columnNames);
            resultsTable.setModel(datamodel); 


        }
publicstaticvoid getResultSet(ResultSet ResultSet)抛出SQLException{
ResultSetMetaData元数据=resultSet.getMetaData();
//JTable名称为resultsTable包含滚动窗格
//列名
向量列名称=新向量();
int columnCount=2;
for(int column=1;column
“这说明列表中只有一个条目。我应该看到4个条目。我看到的条目是我期望的最后一个条目,即4个条目。”

每次迭代都要创建一个新的
DefaultTableModel
。不要这样做

DefaultTableModel datamodel = new DefaultTableModel(data,columnNames);
resultsTable.setModel(datamodel);
去掉上面的内容。相反,先设置模型。然后只需在循环中
.addRow(row)

for (int column = 1; column <= columnCount; column++) {
     columnNames.add(metaData.getColumnName(column));
     System.out.println("ColumnNames "+columnNames );
}
DefaultTableModel datamodel = new DefaultTableModel(columnNames, 0);
table.setModel(datamodel);

while (resultSet.next()) {
    Vector<String> vector = new Vector<String>();
    for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
        vector.add(resultSet.getString(columnIndex)); 
    }
    datamodel.addRow(vector);
}

“这说明列表中只有一个条目。我应该看到4个条目。我看到的条目是我期望的最后一个条目,即4个条目。”

每次迭代都要创建一个新的
DefaultTableModel
。不要这样做

DefaultTableModel datamodel = new DefaultTableModel(data,columnNames);
resultsTable.setModel(datamodel);
去掉上面的内容。相反,先设置模型。然后只需在循环中
.addRow(row)

for (int column = 1; column <= columnCount; column++) {
     columnNames.add(metaData.getColumnName(column));
     System.out.println("ColumnNames "+columnNames );
}
DefaultTableModel datamodel = new DefaultTableModel(columnNames, 0);
table.setModel(datamodel);

while (resultSet.next()) {
    Vector<String> vector = new Vector<String>();
    for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
        vector.add(resultSet.getString(columnIndex)); 
    }
    datamodel.addRow(vector);
}

“这说明列表中只有一个条目。我应该看到4个条目。我看到的条目是我期望的最后一个条目,即4个条目。”

每次迭代都要创建一个新的
DefaultTableModel
。不要这样做

DefaultTableModel datamodel = new DefaultTableModel(data,columnNames);
resultsTable.setModel(datamodel);
去掉上面的内容。相反,先设置模型。然后只需在循环中
.addRow(row)

for (int column = 1; column <= columnCount; column++) {
     columnNames.add(metaData.getColumnName(column));
     System.out.println("ColumnNames "+columnNames );
}
DefaultTableModel datamodel = new DefaultTableModel(columnNames, 0);
table.setModel(datamodel);

while (resultSet.next()) {
    Vector<String> vector = new Vector<String>();
    for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
        vector.add(resultSet.getString(columnIndex)); 
    }
    datamodel.addRow(vector);
}

“这说明列表中只有一个条目。我应该看到4个条目。我看到的条目是我期望的最后一个条目,即4个条目。”

每次迭代都要创建一个新的
DefaultTableModel
。不要这样做

DefaultTableModel datamodel = new DefaultTableModel(data,columnNames);
resultsTable.setModel(datamodel);
去掉上面的内容。相反,先设置模型。然后只需在循环中
.addRow(row)

for (int column = 1; column <= columnCount; column++) {
     columnNames.add(metaData.getColumnName(column));
     System.out.println("ColumnNames "+columnNames );
}
DefaultTableModel datamodel = new DefaultTableModel(columnNames, 0);
table.setModel(datamodel);

while (resultSet.next()) {
    Vector<String> vector = new Vector<String>();
    for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
        vector.add(resultSet.getString(columnIndex)); 
    }
    datamodel.addRow(vector);
}

对不起,Peeskillet没有乐趣。仍然只返回了一个条目的相同答案。然后,您的代码中还有其他错误,您没有向我们显示。这种方法每次都适用于我。请查看我的更新。您需要检查代码中的其他地方,因为我的代码是fine@user3240355peeskillet的分析是正确的,它可能表明感谢各位,让我进一步研究一下。Peeskillet我已经试用过你的应用程序,即使在我的数据库MS Access中也能很好地运行。有一个问题,你们中的任何一位在使用现有JTable的DefaultTableModel时遇到过任何问题吗?对不起,Peeskillet没有乐趣直到只返回一个条目的相同答案。然后,您的代码中还有其他错误,您没有向我们显示。这种方法每次都适用于我。请参阅我的更新。您需要检查代码中的其他地方,因为我的代码是fine@user3240355peeskillet的分析是正确的。这可能表明您在中更新了错误的
JTable的立场
谢谢大家,让我进一步研究一下。Peeskillet我已经试用过你的应用程序,它甚至可以与我的数据库MS Access完美配合。有一个问题,你们中的任何一个在使用现有JTable的DefaultTableModel时遇到过任何问题吗?对不起,Peeskillet没有乐趣。仍然得到相同的答案o只返回了一个条目。然后,您的代码中还有其他错误,您没有向我们显示。这种方法每次都适用于我。请查看我的更新。您需要检查代码中的其他地方,因为我的代码是fine@user3240355peeskillet的分析是正确的。它可能表明您更新了
JTable
的错误实例ks伙计们,让我进一步研究一下。Peeskillet我已经尝试过你的应用程序,它甚至可以与我的数据库MS Access一起工作。有一个问题,你们中的任何一个在使用一个现有Jtable的DefaultTableModel时遇到过任何问题吗?对不起,Peeskillet没有乐趣。仍然只返回了一个条目的相同答案。然后呢您的代码中是否有其他错误,您没有向我们显示。这种方法每次都适用于我。请查看我的更新。您需要检查代码中的其他地方,因为我的代码是fine@user3240355peeskillet的分析是正确的。这可能表明您更新了错误的
JTable
实例。谢谢各位,让我进一步研究一下我已经试用过你的应用程序,它甚至可以与我的数据库MS Access完美配合。有一个问题,你们中的任何一位在使用现有Jtable的DefaultTableModel时遇到过任何问题吗??