如何从arraylist中删除和销毁标签

时间:2017-11-22 17:47:45

标签: java arraylist javafx

我正在javafx中创建一个聊天应用程序。我正在使用标签显示消息并将其添加到arraylist中。现在我想删除标签我应该做什么,以便标签将从滚动窗格中销毁。

这是代码:

CONNECTION clientConnection=null;

@FXML ScrollPane chatScrollPane;
VBox chatVBox;
@FXML AnchorPane chatAnchorPane;


private List<Label> messages = new ArrayList<>();

int index = 0;

我正在添加以下消息:

messages.add(new Label(m));

我应该为邮件分配新内存,以便垃圾收集器从中删除标签吗?

例如

 public void clearall(){
    /*for(int i=0;i<index;i++){

    }*/
    messages = null;
    System.gc();


    messages = new ArrayList<>();

    index = 0;

    System.out.println("cleared chat");
}

1 个答案:

答案 0 :(得分:4)

列表中有一个clear()方法,可以清除它。

请勿致电System.gc(),即almost never needed

您没有显示实际显示标签的方式以及它们实际进入滚动窗格的方式,因此我不知道清除数组列表是否会实际清除UI中的消息。如果您还有其他问题或疑问,请提供mcve