清除字符串/文本

时间:2015-05-24 15:07:13

标签: string text javafx

如果这已经是以前解决的问题,请重定向我!

在我的程序中,我有一个舞台,用户可以在其中查看内容列表,存储在由字符串组成的列表中。

goToView.setOnAction(event ->{
        menuStage.close(); 
        viewStage.show();
        String horseNameList = "";
        for(int i = 0; i < accountList.size(); i++){
            if(accountList.get(i).userName.equals(uName)){
                for(int j = 0; j < accountList.get(i).createdHorses.size(); j++){
                    horseNameList += accountList.get(i).createdHorses.get(j);
                    horseNameList += "\n" + "\n";
                }
            }
            Text hNameListTXT = new Text(horseNameList);
            hNameListTXT.setFont(Font.font("Tahoma", FontWeight.NORMAL, 12));
            listVbox.getChildren().add(hNameListTXT);
        }

createdHorses是一个字符串列表,listVbox就像你想象的那样打印一个字符串(转换为文本)的VBox。现在,当我使用以下EventHandler关闭舞台时,没有特别的事情发生: backView.setOnAction(event -> { viewStage.close(); menuStage.show(); });

但是当我再次打开舞台时(通过使用另一个类似于我用来关闭第一个舞台的EventHandler),我的List(或String)被加倍了。我该怎么做才能清除字符串(或可能是文本),使其不显示两次?

1 个答案:

答案 0 :(得分:0)

  

我应该怎么做才能清除字符串(或可能是文本)   没有显示两次?

VBox的方法getChildren()会返回ObservableList。因此,您可以使用clear()删除所有孩子。