JavaFX | Clase Pos.

La clase Pos es parte de JavaFX. La clase Pos contiene valores que indican el posicionamiento o la alineación horizontal y vertical. La clase Pos hereda la clase Enum .

Métodos comúnmente utilizados:

Método Explicación
obtenerHpos() Devuelve la alineación horizontal.
obtenerVpos() Devuelve la alineación vertical.
valorDe(String n) Devuelve el objeto Pos cuyo nombre es la string especificada.
valores() Devuelve una array que contiene todos los valores Pos.

Los siguientes programas ilustran el uso de Pos Class:

  1. Programa Java para crear un mosaico y agregar un valor Pos especificado como su alineación: en este programa crearemos un mosaico llamado mosaico_pane . Agregue Label etiqueta con nombre y algunos botones al panel_azulejos . Establece la Alineación del panel_azulejo usando la función setAlignment() . Establezca la alineación de tile_pane en el valor Pos TOP_LEFT . Agregue el panel_azulejos a la escena y agregue la escena al escenario y llame a la función show() para mostrar los resultados finales.

    // Java Program to create a tilepane and add
    // a specified Pos value as its alignment
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.geometry.*;
    import javafx.scene.paint.*;
    import javafx.scene.canvas.*;
    import javafx.scene.text.*;
    import javafx.scene.Group;
    import javafx.scene.shape.*;
      
    public class Pos_1 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            try {
      
                // set title for the stage
                stage.setTitle("Pos");
      
                // create a label
                Label label = new Label("this is Pos example");
      
                // create a Tile pane
                TilePane tile_pane = new TilePane(label);
      
                // create and add buttons to tilepane
                for (int i = 1; i <= 7; i++) {
                    tile_pane.getChildren().add(new Button("Button " + i));
                }
      
                // set Alignment of pane
                tile_pane.setAlignment(Pos.TOP_LEFT);
      
                // create a scene
                Scene scene = new Scene(tile_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 TilePane y un cuadro combinado que contiene diferentes valores de Pos: En este programa crearemos un TilePane llamado tile_pane . Agregue Label etiqueta con nombre y algunos botones al panel_azulejos . Establece la Alineación del panel_azulejo usando la función setAlignment() . Estableceremos la alineación de tile_pane al valor Pos BASELINE_CENTER. Almacene todos los nombres de los valores Pos en una array de strings. Ahora cree un cuadro combinado que contendrá los nombres de los valores Pos y también cree un evento de acción para manejar los eventos del cuadro combinado. El controlador de eventos establecerá la alineación del mosaico en el valor pos elegido. Ahora cree un VBox y agregue el mosaico y el cuadro combinado a vbox. Finalmente, agregue el vbox a la escena y agregue la escena al escenario y llame a la función show() para mostrar los resultados finales.

    // Java Program to create a TilePane and 
    // a combobox that contains different 
    // values of Pos
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.geometry.*;
    import javafx.scene.paint.*;
    import javafx.scene.canvas.*;
    import javafx.scene.text.*;
    import javafx.scene.Group;
    import javafx.scene.shape.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.collections.*;
       
    public class Pos_2 extends Application {
       
    // launch the application
    public void start(Stage stage)
    {
      
        try {
      
            // set title for the stage
            stage.setTitle("Pos Class");
      
            // create a label
            Label label = new Label("This is Pos Class Example");
      
            // create a Tile pane
            TilePane tile_pane = new TilePane(label);
      
            // create and add buttons to tilepane
            for (int i = 1; i <= 7; i++) {
      
                tile_pane.getChildren().add(new Button("Button " + i));
            }
      
            // set Alignment of pane
            tile_pane.setAlignment(Pos.BASELINE_CENTER);
      
            // pos names
            String pos_name[] = {"BASELINE_CENTER", "BASELINE_LEFT",
                                 "BASELINE_RIGHT", "BOTTOM_CENTER"
                                 "BOTTOM_LEFT", "BOTTOM_RIGHT"
                                 "CENTER", "CENTER_LEFT", "CENTER_RIGHT",
                                 "TOP_CENTER", "TOP_LEFT", "TOP_RIGHT"};
      
            // Create a combo box
            ComboBox combo_box = 
              new ComboBox(FXCollections.observableArrayList(pos_name));
      
            // Create action event
            EventHandler<ActionEvent> event =
            new EventHandler<ActionEvent>() {
      
                public void handle(ActionEvent e)
                {
      
                    // set Alignement of the TilePane
                    tile_pane.setAlignment(Pos.valueOf(
                         (String)combo_box.getValue()));
                }
            };
      
            // Set on action
            combo_box.setOnAction(event);
      
            // create a VBox
            VBox vbox = new VBox(30, combo_box, tile_pane);
      
            // set Alignemnet
            vbox.setAlignment(Pos.CENTER);
      
            // create a scene
            Scene scene = new Scene(vbox, 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/geometry/Pos.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 *