我的文本文件包含數據爲:sample.txt的
MEMHEAD 1 1 NA的SetString srcCode顯示從文本文件數據的JTable
MEMHEAD 1 2 NA的SetString memIdnum
LGLNAME 1 5 NA的SetString onmfirst
我已經創建MyClassModel
類擴展AbstractTableModel
爲:
public class MyClassModel extends AbstractTableModel
{
Vector data;
Vector columns;
public MyTableModel() {
String line;
try {
FileInputStream fis = new FileInputStream("sample.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
StringTokenizer st1 = new StringTokenizer(br.readLine(), ",");
while (st1.hasMoreTokens())
columns.addElement(st1.nextToken());
while ((line = br.readLine()) != null) {
StringTokenizer st2 = new StringTokenizer(line, ",");
while (st2.hasMoreTokens())
data.addElement(st2.nextToken());
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public int getRowCount() {
return data.size()/getColumnCount();
}
public int getColumnCount() {
return columns.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
return (String) data.elementAt((rowIndex * getColumnCount())
+ columnIndex);
}
}
}
這樣我從文件中檢索數據。現在當我製作JTable
並使用table.setModel(MyTableModel)
設置模型時。我得到一個NullPointerException
。
續:
的文本文件數據被顯示在JTable JTable的,但也包含了一些垃圾數據一些額外的行,當我按下這些行 java.lang.ArrayIndexOutOfBoundsException: 180 >= 180
此異常被拋出。 然而,我發現有一些問題與線
public Object getValueAt(int rowIndex, int columnIndex) {
return (String) data.elementAt((rowIndex * getColumnCount()) + columnIndex);
}
,但不知道什麼是problem.Please幫助。
help請。 :( – Nidhi