私はJavafxで非常に単純なアプリケーションを作成しています。そこには、ステージ上にテキストボックスを1つのシーンとして持つ単一のボタンがあります。ここで、ボタンをクリックすると、ステージ上に別のボタンとテキストボックスがあるシーンを選択し、前のテキストボックスと共にクリックしたボタンを削除します。ボタンをクリックするとステージ上に新しいシーンがロードされます。どのように私はこれを行うことができます上の任意のヒント?JavaFXの複数のシーン
エリックのアドバイスに従う:私はこのコードを持っていて、私が望むように働いています。
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
}
: 最初のボタンののfuctionでは、
showScene2 = true;
と交換してください。私が試すことができる他の方法はありますか? – iceman私は自分の答えを更新しました。複数のシーンを必要とするか、または複数のCustomNodesだけで適切な可視性を設定するかどうかを確かめてください。 –
デバッグプリントステートメントをシーン宣言内に入力して、ロードまたは呼び出されているかどうかを知ることはできますか?私はシーン内のメソッドを呼び出すことはできません。 – iceman