有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何删除具有相同对象名的JavaFx标签

我创建了一个java程序来创建预订系统,我必须创建一个GUI。在GUI中,我创建了多个具有相同对象名称的标签。我使用了gridPane布局

     `for(int i = 0; i< waitingRoom.length; i++){
        if( waitingRoom[i] != null) {
            label = new Label(count +". "+ waitingRoom[i].getName());
            count++;
            label.setFont(new Font("Cambria", 20));
            gridPane.add(label,1,count);
            //styles for a label
            label.setFont(new Font("Cambria", 18));
            label.setMinHeight(30);
            label.setMinWidth(120);
            label.setAlignment(Pos.CENTER);
            label.setStyle("-fx-border-style: solid inside;");
            label.setStyle("-fx-border-width: 5;");
            label.setStyle("-fx-text-align:center;");
            label.setStyle("-fx-border-color: black;");
        }
    }`

现在我想删除所有这些标签并重新创建新标签,但当我尝试以下方法时: label.getParent().getChildren().remove(label); IDE显示错误“变量'label'是从内部类访问的,需要是final或有效final” 无论如何,我想删除所有以前的标签,并再次设置新标签,因为当这个程序运行等待列表数组更新时


共 (1) 个答案

  1. # 1 楼答案

    很难从你的问题中分辨出来,但是如果你只想显示唯一的标签,那么你的waitingRoom数组应该是不允许重复值的数据类型。阅读HashSet上的Java文档