感谢阅读。我有一个问题,我似乎找不到使用.txt文件中的数据填充jTable的方法。
我正在使用Netbeans的GUI构建器。 insertRow,addRow ...等方法未得到确认。经过对谷歌的一些研究,我尝试过使用模型,但这似乎也没有用。或许我做得不对。
最后,我找到了一些东西:
public class InsertFileDataToJTable extends AbstractTableModel {
Vector data;
Vector columns;
public InsertFileDataToJTable() {
String line;
data = new Vector();
columns = new Vector();
try {
FileInputStream fis = new FileInputStream("monfichier.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);
}
这就是我得到的:i.imgur.com/7xqUD.jpg
现在唯一困扰我的是列的名称,如何更改它们?
答案 0 :(得分:2)
包含getColumnName函数...
public String getColumnName(int col)
它将被称为传递列号。基于此返回一个列名。要么创建一个列名数组并“返回columnName [col]”,要有一个基于col的case语句等。
有关您可以执行的所有操作的详细信息,请参阅AbstractTableModel的Javadocs。