编程语言
首页 > 编程语言> > 如何通过java中的按钮最小化,最大化和恢复?

如何通过java中的按钮最小化,最大化和恢复?

作者:互联网

我正在创建一个JavaFX 2.2程序,并且需要创建自定义UI控件(只是那些始终存在的最小化 – 最大化/恢复 – 关闭按钮在顶部).我需要为此目的创建自定义按钮,直到创建简单.

我只需要最小化的真实代码和最大化/恢复按钮(关闭按钮相当于孩子的游戏).最小化按钮可将应用程序恢复到任务栏.最大化按钮,最大化它以适应用户的屏幕,并在最大化时切换以恢复按钮.单击恢复的按钮后,窗口将恢复为其初始大小(1200×600).

我试过stage.setSize(width,height);在我的fxml文件中用于还原,但它不起作用(阶段是高亮的错误,而阶段名称是阶段.)
我用了

    scene.setFill(Color.TRANSPARENT);
    stage.initStyle(StageStyle.TRANSPARENT);

将默认窗口设置为透明.

程序(主文件,而不是控制器)是:

    Parent root = FXMLLoader.load(getClass().getResource("fxmlfile.fxml"));       

    Scene scene = new Scene(root);
    scene.setFill(Color.TRANSPARENT);
    stage.initStyle(StageStyle.TRANSPARENT);

    stage.setTitle("Nothing here");
    stage.setScene(scene);
    stage.show();    

具有关闭操作的控制器文件是:

@FXML
private void exitProgramAction(ActionEvent exitProgramEvent) {        
    System.out.println("Killing program...");
    System.exit(0);
}

解决方法:

要将阶段最小化到任务栏,请为最小化按钮设置一个与此类似的操作:

    btnMinimize.setOnAction(new EventHandler<ActionEvent>() {

        public void handle(ActionEvent event) {
            Stage stage = (Stage)((Button)event.getSource()).getScene().getWindow();
            // is stage minimizable into task bar. (true | false)
            stage.setIconified(true);
        }
    });

我使用JavaFX 8因此我不知道它是否适用于JavaFX 2.2

标签:java,customization,javafx,custom-controls
来源: https://codeday.me/bug/20190703/1369817.html