JavaFX | Clase emergente

La clase emergente es una parte de JavaFX. La clase emergente crea una ventana emergente sin contenido, un relleno nulo y es transparente. La clase emergente se usa para mostrar una notificación, botones o un menú desplegable, etc. La ventana emergente no tiene decoraciones. Esencialmente actúa como una escena/ventana especializada que no tiene decoraciones.

Constructor de la clase:

  • Popup() : Crea un objeto de la clase Popup.

Métodos comúnmente utilizados:

Métodos Explicación
obtener el contenido() La lista observable de Nodes que se representará en esta ventana emergente.
setAutoHide(booleano v) Establece el valor de ocultación automática en el valor booleano especificado.
está mostrando() Devuelve si la ventana emergente está visible o no.

Los siguientes programas ilustran el uso de la clase Popup:

  1. Programa Java para crear un popup y agregarlo al escenario: En este programa creamos un Popup llamado popup . La ventana emergente contiene una etiqueta denominada label . También creamos un botón llamado Botón y le agregamos un controlador de eventos y luego mostramos la ventana emergente si está oculta y la ocultamos si ya está visible. El botón se agrega al TilePane y el TilePane se agrega a la escena, y la escena se agrega al escenario. Se llama a la función show para mostrar los resultados. El color de fondo de la etiqueta se establece mediante la función setStyle() , y el tamaño de la etiqueta se establece mediante la función setMinHeight() , setMinWidth() . Ocultar() y mostrar ()La función se utiliza para ocultar o mostrar la ventana emergente.

    // Java program to create a popup and 
    // add it to the stage
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    import javafx.stage.Popup;
       
    public class Popup_1 extends Application {
       
        // launch the application
        public void start(Stage stage)
        {
       
            // set title for the stage
            stage.setTitle("Creating popup");
       
            // create a button
            Button button = new Button("button");
       
            // create a tile pane
            TilePane tilepane = new TilePane();
       
            // create a label
            Label label = new Label("This is a Popup");
       
            // create a popup
            Popup popup = new Popup();
       
            // set background
            label.setStyle(" -fx-background-color: white;");
       
            // add the label
            popup.getContent().add(label);
       
            // set size of label
            label.setMinWidth(80);
            label.setMinHeight(50);
       
            // action event
            EventHandler<ActionEvent> event = 
            new EventHandler<ActionEvent>() {
       
                public void handle(ActionEvent e)
                {
                    if (!popup.isShowing())
                        popup.show(stage);
                    else
                        popup.hide();
                }
            };
       
            // when button is pressed
            button.setOnAction(event);
       
            // add button
            tilepane.getChildren().add(button);
       
            // create a scene
            Scene scene = new Scene(tilepane, 200, 200);
       
            // set the scene
            stage.setScene(scene);
       
            stage.show();
        }
       
        // Main Method
        public static void main(String args[])
        {
       
            // launch the application
            launch(args);
        }
    }

    Producción:

  2. Programa Java para crear una ventana emergente y agregarla al escenario y hacer que la ventana emergente se oculte automáticamente cuando pierde el foco usando la función setAutoHide() : En este programa creamos una ventana emergente llamada popup . La ventana emergente contiene una etiqueta denominada label . También creamos un botón llamado Button y le agregamos un controlador de eventos para mostrar la ventana emergente si está oculta. El botón se agrega al TilePane y el TilePane se agrega a la escena, y la escena se agrega al escenario. Se llama a la función show para mostrar los resultados. La ventana emergente se ocultará automáticamente cuando pierda el foco, aplicaremos esta característica a la ventana emergente usando la función setAutoHide() . El color de fondo de la etiqueta se establece usando elsetStyle() , y el tamaño de la etiqueta se establece mediante la función setMinHeight() , setMinWidth() . La función hide() y show() se usa para ocultar o mostrar la ventana emergente.

    // Java Program to create a popup and add
    // it to the stage and make the popup hide
    // automatically when it loses focus using
    // the setAutoHide() function
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    import javafx.stage.Popup;
      
    public class popup_2 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            // set title for the stage
            stage.setTitle("Creating Popup");
      
            // create a button
            Button button = new Button("popup");
      
            // create a tile pane
            TilePane tilepane = new TilePane();
      
            // create a label
            Label label = new Label("This is a Popup");
      
            // create a popup
            Popup popup = new Popup();
      
            // set background
            label.setStyle(" -fx-background-color: white;");
      
            // add the label
            popup.getContent().add(label);
      
            // set size of label
            label.setMinWidth(80);
            label.setMinHeight(50);
      
            // set auto hide
            popup.setAutoHide(true);
      
            // action event
            EventHandler<ActionEvent> event = 
            new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    if (!popup.isShowing())
                        popup.show(stage);
                }
            };
      
            // when button is pressed
            button.setOnAction(event);
      
            // add button
            tilepane.getChildren().add(button);
      
            // create a scene
            Scene scene = new Scene(tilepane, 200, 200);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // 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. Utilice un compilador fuera de línea.

Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/stage/Popup.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 *