2011-02-05 4 views
1

У меня есть приложение javafx, и я смог создать другое окно, но я не могу найти способ закрыть окно, в которое я начал. Я использовал это для загрузки второго окнаjavafx закрыть окно

var design = Launcher {}; 

       javafx.stage.Stage 
       { 
        title: "Launcher" 
        scene: design.getDesignScene() 
       } 

ответ

2

stage.close(), но вам понадобится переменная, которая ссылается на исходный этап.

+0

спасибо, когда я получаю вокруг Разбогатей это я пометить этот ответ соответственно. –

0

Как это работает для меня:

  1. У меня есть Main.fx где я instante окно я хочу увидеть первый. ex:

    var mainWind: MainWindow = MainWindow {};

  2. MainWindow.fx расширит CustomNode и переопределит метод create(). В методе создания() Я имею этап Ex:

    общественного класса MainWindow расширяет CustomNode {

    ...

    вар этап: этап;

    переопределение функции создания(): Узел {

    var n:Node; 
    stage = Stage { 
        width: 300 
        height: 180 
        title: "Login" 
        scene: Scene { 
         content:[ userText, userTextBox, passwdText, passwdTextBox, btnsBox ] 
        } 
    } 
    return n; 
    

    }}

  3. В MainWindow.fx У меня есть кнопка с событием, где я закрыть этот этап и показать другую. например:

    Кнопка {

    text: "Login" 
        font:Font{ name:"Arial" size: 12} 
        layoutInfo:LayoutInfo { 
         width: loginbtn_width 
        } 
        blocksMouse: false 
        //close main window 
        onMouseClicked: function(e:MouseEvent):Void { stage.close(); } 
        //open the other window 
        action: function(){ 
         // the ConnectionSettings will also extend CustomNode and will have its own stage 
         var conSetWind:ConnectionSettings = ConnectionSettings{ }; 
        } 
    

    }

Iulia