从arraylist中删除并导出回.buab文件(Java)

从arraylist中删除并导出回.buab文件(Java),java,Java,我做了一本通讯录。我当前可以写入arraylist并将其保存回.buab文件,但我无法从arraylist中删除并将其导出回.buab文件 我在这件事上陷得很深。我可以从.buab中检索联系人,并使用我创建的JTextFields和按钮滚动浏览联系人。 任何帮助都将不胜感激 我为所有操作(新联系人、下一个联系人等)设置了seprate类 如果你需要公布密码,请告诉我。。 干杯 Dave从列表中删除内容与添加以下内容一样简单: Contact contact = new Contact(); my

我做了一本通讯录。我当前可以写入arraylist并将其保存回.buab文件,但我无法从arraylist中删除并将其导出回.buab文件

我在这件事上陷得很深。我可以从.buab中检索联系人,并使用我创建的JTextFields和按钮滚动浏览联系人。 任何帮助都将不胜感激

我为所有操作(新联系人、下一个联系人等)设置了seprate类

如果你需要公布密码,请告诉我。。 干杯


Dave从列表中删除内容与添加以下内容一样简单:

Contact contact = new Contact();
myListOfContacts.add(contact);    // adds a contact
myListOfContacts.remove(contact); // removes the contact
不再需要魔法了

编辑

请注意,这不是Java,严格地将三件事分开,您的生活将变得更加轻松:

  • 型号-存储在arraylist中的联系人
  • 视图-JFrame,显示模型中的数据(列表)
  • 控制器-按钮后面的代码,用于处理模型(添加、删除、更改阵列列表上的数据)
  • 也许您听说过MVC模式(模型-视图-控制器)

    因此,您不必“导出”JList:在视图(JFrame)上,您按下一个按钮,就会执行控制器中的一些代码(实际上是按钮操作侦听器中的代码),将模型(您的arraylist)写入文件

    删除、添加和导入也是如此。您可以在视图(GUI)上“执行”一些操作,以影响对模型(列表)的更改

    正如我所说的,这不是Java,这是面向对象语言非常非常常见的模式。查看您的代码,尝试查找模型、视图和控制器,并尝试分离代码。承诺,一旦你完成了,下一个任务将是一个笑话。

    public void export(){ 试一试{ BufferedWriter fileOut=新的BufferedWriter(新的FileWriter( “contacts.buab”,对); fileOut.write(临时)


    在关闭应用程序之前,请不要忘记文件中的save ArrayList。联系人信息将通过JTextFields显示,因此需要删除索引中的当前联系人信息。抱歉,我的信息太多了java@Dave,可以使用索引从ArrayList中删除,如txtNum.remove(索引);因为是作业,所以被重新标记为作业。如果这些人能与教授、导师或班上其他人谈论作业,那就太好了。或者至少他们可以学会搜索论坛。我已经记不清论坛上发布的与此作业相关的问题的数量了。相反,请使用fileOut.wirte(temp)执行循环以写入ArrayList数据。
            fileOut.close();
        } catch (IOException ioe) {
            JOptionPane.showMessageDialog(null, ioe.getMessage());
        }
        txtName.setText("");
        txtHomeNum.setText("");
        txtMobNum.setText("");
        txtHomeAdd.setText("");
    
    
    }