如何在JavaFX中向按钮添加方法以在场景之间切换
我创建了两个java类,它们有一个静态方法,该方法在设置所需标签和按钮的所有属性后返回AnchorPane。 例如:如何在JavaFX中向按钮添加方法以在场景之间切换,java,button,javafx,Java,Button,Javafx,我创建了两个java类,它们有一个静态方法,该方法在设置所需标签和按钮的所有属性后返回AnchorPane。 例如: class HomePageScene { static AnchorPane getHomePageScene() { //some code //a button which is to be clicked to go to Login Page //some code } } class LoginPage
class HomePageScene {
static AnchorPane getHomePageScene() {
//some code
//a button which is to be clicked to go to Login Page
//some code
}
}
class LoginPageScene {
static AnchorPane getLoginPageScene() {
//some code
}
}
还有另一个类具有main()
首先,我将主页设置为舞台上的场景。在屏幕中有一个按钮,当我单击该按钮时,我希望将场景添加到登录页面。我该怎么做?
这三个类都在不同的文件中。我尝试设置onAction()方法,但在这种情况下,handle()方法的返回类型为void,而我需要返回一个AnchorPane。为按钮(onAction)绑定一个函数。在这个函数中,在主类中调用一个函数,该函数将加载所需的场景(void javafx.scene.scene.setRoot(父值))
编辑: 我的意思是:
public class JavaFXEventDemo extends Application {
private static Scene HomePage;
private static Scene LoginPage;
private static Stage myStage;
public static void main(String[] args) {
launch(args);
}
public void start(Stage myStage) {
JavaFXEventDemo.myStage = myStage;
myStage.setTitle("Program Windiw");
AnchorPane HomePane = HomePageScene.getHomePageScene();
AnchorPane LoginPane = LoginPageScene.getLoginPageScene();
HomePage = new Scene(HomePane, 400.0, 300.0);
LoginPage = new Scene(LoginPane, 400.0, 300.0);
loadHomePage();
myStage.show();
}
public static void loadHomePage(){
JavaFXEventDemo.myStage.setScene(HomePage);
}
public static void loadLoginPage(){
JavaFXEventDemo.myStage.setScene(LoginPage);
}
}
只需在按钮上调用loadxxpage()。完全不清楚您想做什么。你能更详细地阐述你的问题吗?我添加了更多的信息,希望能对你有更多帮助。问题是我每个场景有两个不同的文件。我试过你说的,但是在onAction中,handle()方法的返回类型是void,而我需要返回一个AnchorPane。我补充了一些信息,你能再看一遍吗?
public class JavaFXEventDemo extends Application {
private static Scene HomePage;
private static Scene LoginPage;
private static Stage myStage;
public static void main(String[] args) {
launch(args);
}
public void start(Stage myStage) {
JavaFXEventDemo.myStage = myStage;
myStage.setTitle("Program Windiw");
AnchorPane HomePane = HomePageScene.getHomePageScene();
AnchorPane LoginPane = LoginPageScene.getLoginPageScene();
HomePage = new Scene(HomePane, 400.0, 300.0);
LoginPage = new Scene(LoginPane, 400.0, 300.0);
loadHomePage();
myStage.show();
}
public static void loadHomePage(){
JavaFXEventDemo.myStage.setScene(HomePage);
}
public static void loadLoginPage(){
JavaFXEventDemo.myStage.setScene(LoginPage);
}
}