【发布时间】:2014-08-20 17:56:55
【问题描述】:
我尝试在课程之间打开新阶段并关闭前一个阶段,但我无法在 javafx 中成功。也许如果我们使用单例模式,它可以成功运行。当您按下按钮时,第一个窗口将关闭,第二个窗口将打开。
这里是代码;
头等舱:
public class First extends Application {
public Stage primaryStage2,primaryStage3;
Second v=new Second();
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Press");
this.primaryStage3=primaryStage;
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
v.open();
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
二等:
public class Second {
Stage primaryStage2;
First a=new First();
public void open(){
primaryStage2=new Stage();
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 250);
primaryStage2.setScene(scene);
a.primaryStage3.close();
primaryStage2.show();
}
}
【问题讨论】:
-
我不推荐使用singleton,只在非常特殊的情况下,并且没有其他解决方案时,我使用这种模式。
-
请缩进代码
标签: java javafx-2 javafx-8 stage