我正在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");
}
答案 0 :(得分:4)
列表中有一个clear()
方法,可以清除它。
请勿致电System.gc()
,即almost never needed。
您没有显示实际显示标签的方式以及它们实际进入滚动窗格的方式,因此我不知道清除数组列表是否会实际清除UI中的消息。如果您还有其他问题或疑问,请提供mcve。