【问题标题】:How to modify a txt file using jframe in java如何在java中使用jframe修改txt文件
【发布时间】:2022-01-05 06:34:19
【问题描述】:

我将数据保存在 txt 文件中。我已经将它们加载到我的一个表单中的 jtable 中,我希望能够使用 GUI 表单中的按钮编辑 txt 文件。 另外,如果您能告诉我为什么 jtable 中出现空行,那将非常有帮助。

    private void delbtnActionPerformed(java.awt.event.ActionEvent evt) {                                       
    
}                                      

private void modifybtnActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // TODO add your handling code here:
}                                         

private void newpassActionPerformed(java.awt.event.ActionEvent evt) {                                        
    // TODO add your handling code here:
}                                       

private void newusernameActionPerformed(java.awt.event.ActionEvent evt) {                                            
    // TODO add your handling code here:
} 

这里是查看按钮代码

    private void viewbtnActionPerformed(java.awt.event.ActionEvent evt) {                                        
    
    try{
        BufferedReader br = new BufferedReader(new FileReader("logindata.txt"));
        String firstLine = br.readLine().trim();
        String[] columnsName = firstLine.split("/");
        DefaultTableModel model = (DefaultTableModel)datatable.getModel();
        model.setColumnIdentifiers(columnsName);
       
        Object[] tableLines = br.lines().toArray();
        
        for(int i = 0; i < tableLines.length; i++)
        {
            String line = tableLines[i].toString().trim();
            String[] dataRow = line.split(",");
            model.addRow(dataRow);
        }
    }
    catch(Exception ep){
        Logger.getLogger(people_info.class.getName()).log(Level.SEVERE, null, ep);
    }
} 

这是我在 txt 文件中保存数据的方式

    private void submitbtnActionPerformed(java.awt.event.ActionEvent evt) {                                          
    String user = usertxt.getText();
    String pass = passwordtxt.getText();
    
    try
    {
        FileOutputStream ldata = new FileOutputStream("logindata.txt", true);
        PrintWriter printer = new PrintWriter(ldata);
        
        printer.println(user+","+pass+","+","+",");
        JOptionPane.showMessageDialog(null,"success, please login");
        printer.close();
        
        this.setVisible(false);
        login lg = new login();
        lg.setVisible(true);
    }
    catch(Exception e)
    {
        JOptionPane.showMessageDialog(null,"Error, please retry");
    }        
} 

【问题讨论】:

  • 能否贴出文本文件读取代码和表格填充代码?
  • @AbrahamArnold 我刚刚进行了编辑,您可以查看一下。
  • 1) 我希望能够使用 GUI 表单中的按钮编辑 txt 文件。 - 然后您需要通过将所有数据写入表到文件。 2) 为什么我在 jtable 中出现空行 要么你 a) 创建了空行的表,要么你的文件有空行。你需要调试你的代码。
  • @camickr 好吧,txt 文件根本没有空行。这就是为什么我无法弄清楚为什么我在 jTable 中显示了空数据
  • @godopetza,你读过第一个建议了吗:a) created the table with empty rows 。除非您告诉它这样做,否则该表不会创建空行。你没有发布你的代码是你创建表和表模型,这就是为什么我说你需要调试你的代码来看看你在做什么。

标签: java swing user-interface


【解决方案1】:

model.setColumnIdentifiers(columnsName);之后添加model.setRowCount(0);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 2022-06-28
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多