如何将JCheckBox从文本文件数据导入JTable

问题描述

我正在使用Java NetBeans将JTable数据导入和导出到文本文件的项目中。我想在标题Status下显示一列JCheckBoxes。此外,在导入数据时,我希望文本文件为true时选择单个JCheckBoxes或文本文件为false时取消选择。

我的文本文件如下:

Index#Task#Type#Priority#Status
1#Play Piano#Personal#2#true#
2#Excersice 2.1 - Maths#Personal#5#false#
3#Play Games with Friends#Other#1#true#

不幸的是,当我将文本文件导入JTable时,它仅显示索引,任务,类型和优先级列。请有人可以解释为什么是这种情况,以及如何纠正此错误。预先感谢。

这是我用于导出数据的代码

private void btnExportActionPerformed(java.awt.event.ActionEvent evt) {                                          
    try {
        FileWriter fw = new FileWriter("TaskInfo.txt");
        BufferedWriter bw = new BufferedWriter(fw);
        PrintWriter pw = new PrintWriter(bw);

        for(int row = 0; row < tblTaskInfo.getRowCount(); row++) {     
            String headers = String.valueOf(tblTaskInfo.getColumnName(row));
            pw.print(headers);
            pw.print("#");
        }   

        pw.println("");
        for(int row = 0; row < model.getRowCount(); ++row) {
            for(int column = 0; column <model.getColumnCount(); ++column)
            {
               String s = model.getValueAt(row,column).toString();
               pw.print(s);
               pw.print("#");
            }
            pw.println("");
        }      
        pw.close();
        JOptionPane.showMessageDialog(null,"File Saved");
    }catch(Exception ex)
    {
        JOptionPane.showMessageDialog(null,"Failure");
    }
}

这是我导入数据的代码

private void btnImportActionPerformed(java.awt.event.ActionEvent evt) {                                          
    
        try {
        FileReader fr = new FileReader("TaskInfo.txt");   
        BufferedReader br = new BufferedReader(fr);
        // get the first line
        // get the columns name from the first line
        // set columns name to the jtable model
        String firstLine = br.readLine().trim();
        String[] columnsName = firstLine.split("#");
        DefaultTableModel model = (DefaultTableModel)tblTaskInfo.getModel();
        model.setColumnIdentifiers(columnsName);
        
        // get lines from txt file
        Object[] tableLines = br.lines().toArray();
        
        // extratct data from lines
        // set data to jtable model
        for(int i = 0; i < tableLines.length; i++)
        {
        String line = tableLines[i].toString().trim();
        String[] daTarow = line.split("#");
        model.addRow(daTarow);
        }
        
        
        } catch (Exception ex) {
        Logger.getLogger(Task.class.getName()).log(Level.SEVERE,null,ex);
        }
}                                

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...