当前位置: 首页 > 知识库问答 >
问题:

后退按钮,将在 Javafx 2 中打开主舞台

袁宜民
2023-03-14

我在应用程序中有2个屏幕。第一个屏幕(MainController类)打开,从Eclipse运行应用程序。

第二屏幕(第二控制器类)位于第一屏幕的按钮打开。

如何在第二个屏幕上制作某种“后退”按钮,以显示第一个屏幕?

如果有必要,我将在JavaFX Scene Builder中创建应用程序的可视部分。

共有1个答案

柯天宇
2023-03-14

下面是一个小示例,包含到屏幕,以显示如何实现所需

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class TwoScreensWithInterchange extends Application {


    @Override
    public void start(Stage stage) throws Exception {
        Scene scene = new Scene(loadScreenOne(), 200, 200);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

    public VBox loadScreenOne()
    {
        VBox vBox = new VBox();
        vBox.setAlignment(Pos.CENTER);
        final Button button = new Button("Switch Screen");
        button.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent arg0) {
                button.getScene().setRoot(loadScreenTwo());             
            }
        });
        Text text = new Text("Screen One");
        vBox.getChildren().addAll(text, button);
        vBox.setStyle("-fx-background-color: #8fbc8f;");
        return vBox;
    }

    public VBox loadScreenTwo()
    {
        VBox vBox = new VBox();
        vBox.setAlignment(Pos.CENTER);
        final Button button = new Button("Back");
        button.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent arg0) {
                button.getScene().setRoot(loadScreenOne());             
            }
        });
        Text text = new Text("Screen Two");
        vBox.getChildren().addAll(text, button);
        return vBox;
    }

}
 类似资料:
  • 问题内容: 如何在自己的应用程序中复制此功能? 我认为肯定有三种可能性… 捕获后退按钮的按下(如下所示),然后调用home按钮调用的任何方法。 捕获后退按钮按下,然后欺骗主页按钮。 捕获后退按钮的按下,然后启动主屏幕的活动,从而有效地将应用程序的活动置于停止状态。 编辑: 我知道有关服务,并且正在与此问题相关的应用程序中使用一种。该问题专门用于在按“后退”按钮时将活动置于停止状态而不是已破坏状态。

  • 我制作了一个按钮,可以创建一个JFileChooser,这样用户就可以打开一个。txt文件,下面是按钮的动作侦听器中的代码: 如果您选择。txt文件在文件选择器中,但如果您只需选择一个文件,然后按“取消”并退出,它也可以工作。我想这是因为getSelectedFile(),但我想知道是否有办法确保用户选择了一个文件,并在文件选择器内按open作为获取文件的条件?

  • 问题内容: 我需要在不同的页面/视图中显示和隐藏后退按钮。我从贾斯汀·诺埃尔那里得到了参考: App控制器切换按钮显示: 但这是行不通的,因为控制器仅被调用一次,而在不同状态下的视图改变时则不会。同样,从其他控制器(链接到不同的状态)更改$ scope.hideBackButton的值对按钮显示没有任何影响。 谁能告诉我如何在每个导航上切换后退按钮显示。我在这里想念什么? 问题答案: 我今天有完全

  • 我在这件事上完全被难住了。我有一个活动C,当我试着按下后退按钮时,它工作了。但是,当我使用操作栏中的home/up按钮时,它就会崩溃(请参见下面的错误)。下面是我的代码中处理备份/备份按钮的部分。 活动C: 错误: 这是否与到达活动C有两种可能的方式有关?要么是-