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:
- 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:
- 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