2017-11-22 11 views
0

私はjavafxでチャットアプリケーションを作成しています。私はラベルを使ってメッセージを表示し、arraylistでそれらを追加しています。今はラベルを削除したいのですが、ラベルをスクロールペインから削除するようにしてください。ガベージコレクタはそれからラベルを削除するように、私はメッセージに新しいメモリを割り当てる必要がありますarraylistからラベルを削除して破壊する方法

messages.add(new Label(m)); 

:私はのようなメッセージを追加している

CONNECTION clientConnection=null; 

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


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

int index = 0; 

:ここ

は、コードのですか?

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

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


    messages = new ArrayList<>(); 

    index = 0; 

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

答えて

4

リストは、これをクリアします。

System.gc()、つまりalmost never neededを呼び出しないでください。

実際にラベルを表示する方法と実際にスクロールペインに表示される方法はわかりません。そのため、アレイリストをクリアすると実際にUIからメッセージが消去されるかどうかわかりません。さらなる質問や問題がある場合は、mcveを入力してください。

関連する問題