JavaFX2场景分离的类

时间:2014-03-28 03:52:37

标签: java javafx

有没有办法将我的场景保存在JavaFx应用程序中的单独Java文件中? 我试过这样的事情:

public class MyApp extends Application 
  {

    private void init(Stage primaryStage) 
    {
        Group root = new Group();
        primaryStage.setResizable(false);
        Login login = new Login(root, primaryStage); // from another file
        primaryStage.setScene(login);
    }

我必须在身份验证后关闭我的登录场景并从另一个文件加载另一个场景,因此我将primaryStage作为login Scene的参数传递给stage.close()

有没有更好的方法呢?

我的登录场景文件

public class Login extends Scene 
 {
    public Login(Group root, final Stage stage) 
     {
        super(root, 265, 390, Color.web("EBE8E3"));

有没有其他方法可以引用当前场景阶段?

1 个答案:

答案 0 :(得分:1)

您不必将stage作为参数传递。舞台始终可以从当前场景的节点获得!

scene.getWindow()

这将返回场景的当前舞台/窗口!

Javadocs: http://docs.oracle.com/javafx/2/api/javafx/scene/Scene.html#getWindow%28%29

示例: How to get parent Window in FXML Controller?

http://blog.crisp.se/2012/08/29/perlundholm/window-scene-and-node-coordinates-in-javafx