JavaFX | Clase de panel

La clase Panel es parte de JavaFX. La clase Panel actúa como una clase base de todos los paneles de diseño. Básicamente, cumple con la necesidad de exponer la lista de niños como pública para que los usuarios de la subclase puedan agregar o quitar niños libremente. La clase Panel hereda la clase Región . StackPane debe usarse en caso de que una aplicación necesite que los elementos secundarios se mantengan alineados con un elemento principal. Esta clase cambia el tamaño de cada elemento secundario administrado independientemente del valor de propiedad visible del elemento secundario.

Constructor de la clase:

  1. Pane() : Crea un nuevo objeto Pane.
  2. Pane(Node… c) : Crea un nuevo diseño de Panel con Nodes especificados.

Métodos comúnmente utilizados:

Método Explicación
obtenerNiños() Devuelve los hijos del panel.
setLayoutX(doble v) Establece el valor de la propiedad layoutX.
setLayoutY(doble v) Establece el valor de la propiedad layoutY.
getLayoutX() Devuelve el valor de la propiedad layoutX.
getLayoutY() Devuelve el valor de la propiedad layoutY.
setPrefSize(doble ancho, doble altura) Establece el tamaño preferido del panel.
reubicar (doble x, doble y) Reubica el objeto en las coordenadas especificadas.

Los siguientes programas ilustran el uso de Pane Class:

  1. Programa Java para crear un Panel y agregar una etiqueta al Panel y agregarlo al escenario: En este programa estamos creando un Panel llamado panel y una Etiqueta llamada label . Ahora agregue esta etiqueta al panel pasándola como un argumento del constructor del panel . Luego agregue el panel a la Escena y la escena al escenario. Llame a la función show() para mostrar los resultados finales.

    // Java Program to create a Pane
    // and add label to the Pane
    // and add it to the stage
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.canvas.*;
    import javafx.scene.web.*;
    import javafx.scene.layout.Pane;
    import javafx.scene.shape.*;
      
    public class Pane_0 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            try {
      
                // set title for the stage
                stage.setTitle("Pane");
      
                // create a label
                Label label = new Label("this is Pane example");
      
                // create a Pane
                Pane pane = new Pane(label);
      
                // create a scene
                Scene scene = new Scene(pane, 400, 300);
      
                // set the scene
                stage.setScene(scene);
      
                stage.show();
            }
      
            catch (Exception e) {
      
                System.out.println(e.getMessage());
            }
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    Producción:

  2. Programa Java para crear un Panel y agregar etiquetas y botones al panel y reubicarlos en posiciones específicas y agregarlo al escenario: En este programa crearemos un Panel llamado panel y una Etiqueta llamada label . Agregue esta etiqueta al panel pasándola como un argumento del constructor del panel . Luego cree los cinco botones y agréguelos al panel . Reubique la etiqueta y los botones en la posición especificada usando la función relocate() . Agregue el panel a la Escena y agregue la escena al escenario. Llame a la función show() para mostrar los resultados finales.

    // Java Program to create a Pane
    // and add labels and buttons to the pane
    // and relocate them to specific positions
    // and add it to the stage
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.canvas.*;
    import javafx.scene.web.*;
    import javafx.scene.layout.Pane;
    import javafx.scene.shape.*;
      
    public class Pane_1 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            try {
      
                // set title for the stage
                stage.setTitle("Pane");
      
                // create a label
                Label label = new Label("this is Pane example");
      
                // relocate label
                label.relocate(100, 10);
      
                // create a Pane
                Pane pane = new Pane(label);
      
                // add buttons
                for (int i = 0; i < 5; i++) {
      
                    // create button
                    Button button = new Button("Button " + (int)(i + 1));
      
                    // add button
                    pane.getChildren().add(button);
      
                    // relocate button
                    button.relocate(100, 50 + 40 * i);
                }
      
                // create a scene
                Scene scene = new Scene(pane, 400, 300);
      
                // set the scene
                stage.setScene(scene);
      
                stage.show();
            }
      
            catch (Exception e) {
      
                System.out.println(e.getMessage());
            }
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    Producción:

Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea; use un compilador fuera de línea.

Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Pane.html

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *