Несколько сцен в JavaFX

Я должен был бы сказать Схему, особенно в он воплощение R6RS .

7
задан iceman 1 October 2009 в 06:59
поделиться

2 ответа

Если вы уверены, что у вас будет только 2 разных сцены, вы можете просто привязать свойство сцены к Stage следующим образом:

var showSecondScene = false;
var myButton = Button {
    onMouseClicked: function(e) { showSecondScene = true; }
}
def stage = Stage {
    scene: bind if (showSecondScene) then secondScene else firstScene
}

ОБНОВЛЕНИЕ: Это действительно работает, если у вас есть любое количество сцен примерно так:

scene: bind if (showScene1) then scene1
    else if (showScene2) then scene2
    else scene3

Вы можете подумать, почему у вас будет больше двух сцен, вместо этого выбрав установку 'visible: false' для перекрывающихся узлов группы.

1
ответ дан 7 December 2019 в 18:44
поделиться

Устранить все утверждения IF-Evel. Свяжитесь непосредственно к переменной, которая содержит текущую сцену.

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;

var currentScene: Scene;


def scene1: Scene = Scene {
    content: Text {
        font : Font {
            size : 24
        }
        x: 10, y: 30
        content: "Scene 1"
        onMouseClicked: function( e ):Void {
         currentScene = scene2;
       }
    }
}

def scene2: Scene = Scene {
    content: Text {
        font : Font {
            size : 24
        }
        x: 10, y: 30
        content: "Scene 2"
        onMouseClicked: function( e ):Void {
         currentScene = scene1;
       }
    }
}

Stage {
    title: "Multi-Scene"
    width: 250
    height: 80
    scene: bind currentScene
}

currentScene = scene1;   
1
ответ дан 7 December 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: