Piszę bardzo prostą aplikację w Javafx, gdzie jest jeden przycisk z polem tekstowym na scenie jako jedna scena. Teraz, zachowanie, którego chcę, to to, że po kliknięciu przycisku mogę załadować kolejny scenę z innym przyciskiem i polem tekstowym na scenie i usuń przycisk, który kliknąłem wraz z poprzednim polem tekstowym. Tak więc kliknięcie przycisku powinno załadować nową scenę na scenie. wszelkie wskazówki, jak mogę to zrobić?Wiele scen w JavieFX
Po poradę Erica: mam ten kod i jego działanie tak, jak chcę.
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
}
mam więcej niż 2 sceny i technika ta jest po prostu w porządku na 2 scenach ponieważ JavaFX nie pozwalają if-else lub przełącznika razie po sceny wiążą. Czy jest jakiś inny sposób, w jaki mogę spróbować? – iceman
Zaktualizowałem swoją odpowiedź. Zdecydowanie warto rozważyć, czy chcesz, aby wiele scen lub tylko kilka widoczności ustawień CustomNodes odpowiednio. –
Czy można wprowadzić instrukcje drukowania debugowania w deklaracji sceny, aby wiedzieć, czy jest ładowany lub czy jest wywoływany? Nie mogę wywołać żadnej metody wewnątrz sceny. – iceman