📜  javafx vbox remove child - Java (1)

📅  最后修改于: 2023-12-03 15:31:35.790000             🧑  作者: Mango

JavaFX VBox中删除子元素

在JavaFX应用程序中,我们经常需要在VBox等布局容器中添加和删除UI元素。在本文中,我们将学习如何通过Java代码从VBox中删除子元素。

前提条件

在继续之前,确保您已经熟悉了JavaFX和VBox的基础知识。

删除子元素的步骤

以下是从VBox中删除子元素的步骤:

  1. 获取VBox实例:首先要做的是获取VBox实例以访问它的子元素。这可以通过在Java代码中使用VBox类的构造器来完成。
VBox vbox = new VBox();
  1. 添加子元素:添加子元素最简单的方法就是使用VBox实例的getChildren()方法。该方法返回一个ObservableList,该列表包含VBox中的所有子元素。您可以使用add()方法向该列表中添加子元素。
Button button = new Button("Click me!");
vbox.getChildren().add(button);
  1. 删除子元素:可以使用remove()方法从VBoxObservableList中删除子元素。您必须将要删除的元素作为参数传递给该方法。
vbox.getChildren().remove(button);
完整代码示例

下面是一个在JavaFX中删除VBox子元素的完整示例代码:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class RemoveElementFromVBox extends Application {

    @Override
    public void start(Stage primaryStage) {
        VBox vbox = new VBox();

        Button addButton = new Button("Add element");
        addButton.setOnAction(event -> {
            Button newButton = new Button("New Button");
            vbox.getChildren().add(newButton);
        });

        Button removeButton = new Button("Remove element");
        removeButton.setOnAction(event -> {
            if (vbox.getChildren().size() > 0) {
                vbox.getChildren().remove(vbox.getChildren().size() - 1);
            }
        });

        vbox.getChildren().add(addButton);
        vbox.getChildren().add(removeButton);

        Scene scene = new Scene(vbox, 300, 250);

        primaryStage.setTitle("Remove Element From VBox Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

该示例创建一个VBox并向其添加两个按钮:“添加元素”和“删除元素”。单击“添加元素”按钮会在VBox中添加一个新按钮,“删除元素”按钮将从VBox中删除最后一个按钮。

结论

JavaFX提供了各种布局容器,可以帮助我们创建复杂的GUI。在JavaFX应用程序中删除VBox的子元素很容易,只需要遵循上述简单的步骤即可。