我在Javafx中編寫了一個非常簡單的應用程序,其中一個按鈕的舞臺上有一個文本框作爲一個scene.Now,我想要的行爲是,當我點擊按鈕時,我可以加載另一個場景中的另一個按鈕和一個文本框在舞臺上,並刪除按鈕,我與前一個文本框一起點擊。所以點擊一個按鈕應該在舞臺上加載一個新的場景。有關我如何做到這一點的任何提示?JavaFX中的多個場景
按照Eric的建議:我有這個代碼,它的工作方式是我想要的。
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
}
我有2級以上的場景和這個技術只是罰款2點的場景,因爲JavaFX的不允許現場綁定後的if-else或開關的情況下。有沒有其他方法可以嘗試? – iceman 2009-09-29 13:19:13
我已經更新了我的答案。絕對考慮是否需要多個場景或多個CustomNode設置適當的可見性。 – 2009-09-29 16:58:38
是否可以在場景聲明中輸入調試打印語句來知道它的加載或被調用?我無法在場景中調用任何方法。 – iceman 2009-09-30 08:26:23