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时遇到过任何问题吗??