하나의 장면으로 텍스트 상자가있는 단일 버튼이있는 Javafx에서 매우 간단한 응용 프로그램을 작성하고 있습니다. 이제 원하는 동작은 버튼을 클릭하면 다른 것을로드 할 수 있습니다. 장면을 다른 단추와 무대 위에있는 텍스트 상자로 옮기고 이전 텍스트 상자를 클릭 한 단추를 제거합니다. 버튼을 클릭하면 스테이지에 새로운 장면이로드됩니다. 내가 어떻게이 일을 할 수 있는지에 대한 어떤 암시라도?JavaFX의 다중 장면
에릭의 충고에 따르면 : 나는이 코드와 내가 원하는 방식으로 작동한다. 당신은 당신은 단지 2 개 개의 다른 장면이있을 것이다 확실한 경우
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