如何使用JavaFX创建弹出框

如何使用JavaFX创建弹出框,java,javafx,popup,Java,Javafx,Popup,下面的代码创建了一个填充有按钮的网格。我想知道如何添加一个弹出另一个带有数字的网格框的方法。当在第二个弹出网格框中选择编号时,它会更改单击的原始按钮上的标签。以下面的示例为例,有人单击带有文本“1”的按钮。一个标有1到5的按钮的网格弹出。单击按钮5。弹出的网格框消失,带有文本“1”的按钮现在更改为“5” 导入javafx.application.*; 导入javafx.event.EventHandler; 导入javafx.geometry.Insets; 导入javafx.geometry.

下面的代码创建了一个填充有按钮的网格。我想知道如何添加一个弹出另一个带有数字的网格框的方法。当在第二个弹出网格框中选择编号时,它会更改单击的原始按钮上的标签。以下面的示例为例,有人单击带有文本“1”的按钮。一个标有1到5的按钮的网格弹出。单击按钮5。弹出的网格框消失,带有文本“1”的按钮现在更改为“5”

导入javafx.application.*;
导入javafx.event.EventHandler;
导入javafx.geometry.Insets;
导入javafx.geometry.Pos;
导入javafx.stage.*;
导入javafx.scene.*;
导入javafx.scene.layout.*;
导入javafx.scene.paint.Color;
导入javafx.scene.paint.paint;
导入javafx.scene.control.*;
导入javafx.scene.input.MouseEvent;
公共类GUI扩展应用程序{
公共静态void main(字符串[]args){
应用程序启动(args);
}
@覆盖公共无效开始(阶段primaryStage)
{
最终int HGAP=2;
最终积分VGAP=2;
最终int按钮大小=50;
最终int插图=5;
最终整数大小=4;
GridPane root=新的GridPane();
根。设置填充(新插图(插图));
根.setHgap(HGAP);
root.setVgap(VGAP);
根部设置对齐(位置中心);
最终按钮[][]btn=新按钮[尺寸][尺寸];
最终油漆背景=颜色。绿松石色;
int指数=0;
for(int theCol=0;theCol
Yoy也可以这样尝试

        GridPane grid = new GridPane();
        grid.setHgap(10);
        grid.setVgap(10);
        final Text infoText = new Text();
        grid.setPadding(new Insets(10, 10, 10, 10));
        grid.add(infoText, 0, 4, 2, 1);
        final Dialog dlg = new Dialog(null, "dialog");
        dlg.setContent(grid);
        dlg.show();

您可以使用
弹出控件

  PopupControl popup = new PopupControl();
  popup.getScene().setRoot(yourGridPane);
  popup.show(yourGridPane.getScene().getWindow());

在您的按钮侦听器中,您可以调用
popup.hide()
关闭弹出窗口并更新按钮文本

我想这里有一个解释:我认为有些链接中有临时链接,其中包含代码示例
  PopupControl popup = new PopupControl();
  popup.getScene().setRoot(yourGridPane);
  popup.show(yourGridPane.getScene().getWindow());