Java 从循环下的数组填充jtable
在每个循环中,它从某个文件收集信息,并将其内容存储在一个数组中。然后,数组应该为表上的每个循环创建一个新行。我的问题是,它只创建一行。我怎样才能解决这个问题Java 从循环下的数组填充jtable,java,arrays,swing,loops,Java,Arrays,Swing,Loops,在每个循环中,它从某个文件收集信息,并将其内容存储在一个数组中。然后,数组应该为表上的每个循环创建一个新行。我的问题是,它只创建一行。我怎样才能解决这个问题 for (int i = 0; i < listOfFiles.length; i++) { if (listOfFiles[i].isFile()) { files = listOfFiles[i].getName(); SimpleDat
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
iCount = humanReadableByteCount(listOfFiles[i].length(), true);
if (files.toLowerCase().endsWith(".mp3"))
{
//jTextArea1.append("File name: " + files + " | Last Modified: " + sdf.format(listOfFiles[i].lastModified()) + " | Lenght: " + iCount + "\n");
Object rowData[] = { files, sdf.format(listOfFiles[i].lastModified()), iCount };
Object columnNames[] = { "Name", "Last Modified", "Size" };
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
model.addRow(rowData);
jTable1.setModel(model);
}
}
}
在循环外部创建模型。将表格模型也设置在循环外部
在循环内部要做的唯一一件事就是向模型中添加新行。在循环外部创建模型。将表格模型也设置在循环外部
在循环内部要做的唯一一件事就是向模型中添加新行。每次循环时都会创建一个新模型。因此,每次都有一个新的空模型,并向空模型添加一行 应该是这样的:
Object columnNames[] = { "Name", "Last Modified", "Size" };
DefaultTableModel model = new DefaultTableModel(columnNames);
jTable1.setModel(model);
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile() && listOfFiles[i].getName().toLowerCase().endsWith(".mp3"))
{
files = listOfFiles[i].getName();
iCount = humanReadableByteCount(listOfFiles[i].length(), true);
model.addRow(new Object[]{ files, sdf.format(listOfFiles[i].lastModified()), iCount });
}
}
每次循环循环时都会创建一个新模型。因此,每次都有一个新的空模型,并向空模型添加一行 应该是这样的:
Object columnNames[] = { "Name", "Last Modified", "Size" };
DefaultTableModel model = new DefaultTableModel(columnNames);
jTable1.setModel(model);
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile() && listOfFiles[i].getName().toLowerCase().endsWith(".mp3"))
{
files = listOfFiles[i].getName();
iCount = humanReadableByteCount(listOfFiles[i].length(), true);
model.addRow(new Object[]{ files, sdf.format(listOfFiles[i].lastModified()), iCount });
}
}