如何使用JFileChooser将CSV filedata输入到JTable中

时间:2012-08-17 14:00:47

标签: java swing jtable jfilechooser opencsv

我目前正在尝试让我的程序将用户定义的CSV文件中的数据输入到JTable中。但是,由于某些原因它无法正常工作,每当我尝试加载或保存文件时,Netbeans就会向调试器抛出一些异常。

private void openActionPerformed(java.awt.event.ActionEvent evt)
{                                     
    int returnVal = fileChooser.showOpenDialog(this);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
        File file = fileChooser.getSelectedFile();
        try {
            // What to do with the file, e.g. display it in a TextArea
            CSVReader reader = new CSVReader(new FileReader( file.getAbsolutePath()));
            List myEntries = reader.readAll();
            table (myEntries.toArray());
        } catch (IOException ex) {
            System.out.println("problem accessing file"+file.getAbsolutePath());
        }
    } else {
        System.out.println("File access cancelled by user.");
    }
}

这是我针对特定问题的代码。

如何正常运作?

1 个答案:

答案 0 :(得分:3)

只有建议

  1. 您可以直接将Vector or Object[]加入JTable

  2. {li>

    java.util.List您必须实施自定义AbstractTableModel,因为JTable及其XxxTableModel基于过早Vector or Object[]

    < / LI>
  3. XxxTableModel的所有更新必须在EventDispatchThread

  4. 上完成
  5. SSCCE发布后更快获得更好的帮助,CSV File的竞争应该直接硬编码到java.util.List

  6. JTable(查看)的所有数据都存储在XxxTableModel(模型)