JavaFX - 在单击按钮上创建一个新窗口(使用Scene Builder)

时间:2018-01-08 08:58:59

标签: javafx

我想通过点击按钮弹出一个新窗口。 因为我正在使用场景构建器,所以我的项目有main.java和controller.java。 我有两个名为Interface.fxml(主要出现)和Popup.fxml的fxml文件。

我搜索了很多,但所有问题和答案都是关于在main.java中进行的,而不是在controller.java中。我读过关于在其他课程中引用舞台和场景的内容,但是我没有实现。

这是我写的。

import ...
public class Main extends Application {
  @Override
  public void start(Stage primaryStage) {
    try {
      Parent root = FXMLLoader.load(getClass().getResource("Interface.fxml"));
      Scene scene = new Scene(root);
      primaryStage.setTitle("Calculator");
      primaryStage.setScene(scene);
      primaryStage.show();
    } catch(Exception e) {
      e.printStackTrace();
    }
  }

  public static void main(String[] args) {
    launch(args);
  }
}

上面的代码是main.java和

@FXML
private void onButtonClicked(ActionEvent ae) {
  try {
    FXMLLoader loader=new FXMLLoader(getClass().getResource("Popup.fxml"));
    loader.setRoot(this);
    loader.setController(this);

    loader.load();

  } catch(Exception e) {
    e.printStackTrace();
  }
}

上面的代码在controller.java中。

我想知道如何在controller.java中创建一个新窗口。请帮帮我! (如果需要其他部分,请告诉我。)

0 个答案:

没有答案