繁体   English   中英

使用 txt 文件填充 jTable

[英]Populating a jTable using txt file

谢谢阅读。 我有一个问题,我似乎找不到使用 .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

现在唯一困扰我的是列的名称,我该如何更改它们?

包括一个 getColumnName 函数...

public String getColumnName(int col)

它将被称为传递列号。 基于此返回一个列名。 要么制作一个列名数组和“返回 columnName[col]”,有一个基于 col 的 case 语句,等等。

有关您可以执行的所有操作的更多详细信息,请参阅 AbstractTableModel 的 Javadocs。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM