Vector columnNames = new Vector();
String[] tableHeader = {
new String("名字"),
new String("大小"),
new String("类型"),
new String("修改日期")
}; columnNames.addElement(tableHeader);
String[] tableHeader = {
new String("名字"),
new String("大小"),
new String("类型"),
new String("修改日期")
}; columnNames.addElement(tableHeader);
<identifier> expected,
我的为什么出错阿,
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;public class FileTable extends JTable {
/* String[] columnNames = {
"名称","大小","类型","修改日期"
};*/
Vector columnNames = new Vector(4,1);
String[] tableHeader = {
new String("名字"),
new String("大小"),
new String("类型"),
new String("修改日期")
};
// tableHeader[0] = "名字" ;
// tableHeader[1] = "大小" ;
// tableHeader[2] = "大小" ;
// tableHeader[3] = "修改日期";
/* columnNames.addElement(name);
columnNames.addElement(size);
columnNames.addElement(type);
columnNames.addElement(modify);*/
Vector subFilesInfo = new Vector(5,10);
columnNames.addElement(tableHeader);
public FileTable() {
setModel( new DefaultTableModel(subFilesInfo,columnNames));
}
//完成更新table的功能 参数path为当前文件目录(一定为文件夹)的路径信息
public void updateTable(String path) {
File currentFile = new File(path);
File[] subFiles;
subFiles = currentFile.listFile();
String[] fileInfo = {
new String(),
new String(),
new String(),
new String()
};
String fileName,fileSize,fileModifyTime,fileType;
int i = subFiles.length;
for ( int i = 0; i < subFilesNum ; i ++){
if (!subFiles[i].isDirectory())
{
fileName = subFiles[i].getName();
fileSize = new Long(subFiles[i].length()).toString();
fileModifyTime = new Date(subFiles[i].lastModified()).toString();
int length = fileName.length();
for (int j = 0; j < length; j++){
if(fileName.charAt(j-1) == '.') {
fileType = fileName.substring(j,length - 1);
break;
} else {
fileType = new String("");
}
fileInfo[0] = fileName;
fileInfo[1] = fileType;
fileInfo[2] = fileSize;
fileInfo[3] = fileModifyTime;
}
subFilesInfo.addElement(fileInfo);
}
}
}
}
是因为你的addElement没有放在任何方法内. 其他注释掉的行也应该放在一个方法内.
可以这样解决:
{
columnNames.addElement(tableHeader);
}