Ich schreibe eine sehr einfache Anwendung in Javafx wo gibt es eine einzige Schaltfläche mit einem Textfeld auf der Bühne als eine Szene. Nun, das Verhalten, das ich will, ist, dass, wenn ich auf die Schaltfläche klicken kann ich laden Szene mit einem anderen Knopf und einer Textbox auf der Bühne und entferne den Knopf, den ich mit dem vorhergehenden Textkasten angeklickt habe. So sollte das Klicken eines Knopfes eine neue Szene auf die Bühne laden. irgendwelche Hinweise, wie ich das machen kann?Mehrere Szenen in JavaFX
Nach Erics Ratschlag: Ich habe diesen Code, und es funktioniert so, wie ich will.
var showScene1 = true;
var showScene2 = false;
var showScene3 = false;
def stage = Stage
{
title: "Hello World"
var scene1 =Scene
{
content:
[
Text {
font : Font {
size: 24
}
x: 10, y: 30
content: "HelloWorld from Scene1"
},
Button
{
text: "Click Me to change to Scene2 "
onMouseClicked: function(e: MouseEvent):Void
{
showScene2 = true;
println("In scene 2");
}
}
]
}
var scene2 =Scene
{
content:
[
Text {
font : Font {
size: 24
}
x: 10, y: 30
content: "HelloWorld from Scene2"
},
Button
{
text: "Click Me to change to Scene3 "
onMouseClicked: function(e: MouseEvent):Void
{
showScene1 = false;
showScene2 = false;
showScene3 = true;
println("In scene 3");
}
}
]
}
var scene3 =Scene
{
content:
[
Text {
font : Font {
size: 24
}
x: 10, y: 30
content: "HelloWorld from Scene3"
}
]
}
scene: bind if (showScene2) then scene2
else if (showScene1) then scene1
else scene3
}
ich mehr als 2 Szenen haben und diese Technik ist gut für zwei Szenen, weil JavaFX nicht if-else oder Schaltergehäuse nach Szene binden läßt. Kann ich es anders versuchen? – iceman
Ich habe meine Antwort aktualisiert. Überlegen Sie sich, ob Sie mehrere Szenen oder nur die Sichtbarkeit von mehreren benutzerdefinierten Nodes wünschen. –
Ist es möglich, Debug-Druckanweisungen innerhalb einer Szenendeklaration einzugeben, um zu wissen, ob sie geladen wird oder aufgerufen wird? Ich kann keine Methode innerhalb einer Szene aufrufen. – iceman