【问题标题】:How do I switch between pages(Stages) which are in different classes through hyperlink?[JavaFX]如何通过超链接在不同类的页面(阶段)之间切换?[JavaFX]
【发布时间】:2017-09-22 02:34:24
【问题描述】:

我想切换到页面位于不同类的其他页面。我在不同的类中做,所以代码看起来比把所有东西都混在一个类中更干净、更简单。这是应该与我的注册页面(类)中的 MainMenu 页面(类)链接的代码:

home.setOnAction(new EventHandler <ActionEvent>(){
        public void handle(ActionEvent action){
                frame.close();

        }
    });

这是另一个页面(类),它是链接到注册类的 MainMenu:

    login.setOnAction(new EventHandler <ActionEvent>(){
        public void handle(ActionEvent action){
            frame.close();
    });

其中“login”和“home”变量是超链接。

我的问题是我想在这两个页面之间进行连接,这样当我单击超链接时,它会转到定向类(页面)。我试过调用类名,但什么也没发生。我使用了 Class.launch(Class.class) 的东西,但据我所知,这不是正确的方法。 谁能建议我如何链接这两个页面?

【问题讨论】:

  • 超链接和按钮之间确实没有区别。这只是视觉上的差异。因此,如果您使用按钮来改变舞台,请采用完全相同的方法。
  • 我知道。我只是想在不同班级的阶段之间切换。超链接或按钮不是问题
  • 您需要发布重复问题的最少且完整的代码。

标签: java javafx hyperlink


【解决方案1】:

如果你使用 BorderPane,你可以将你点击的页面设置为中心视图:

    BorderPane appView = new BorderPane();
    YourPage page = new YourPage();
    appView.setLeft(null);
    appView.setRight(null);
    appView.setTop(null);
    appView.setCenter(page);
    appView.setBottom(null);
    page.asNode().requestFocus();

如果您的页面有单独的阶段,您可以隐藏当前阶段并显示您点击的阶段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2013-03-06
    • 2021-05-29
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多