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

如何最小化,最大化和恢复下来通过按钮在java?

邵繁
2023-03-14

我正在创建一个JavaFX2.2程序,需要创建自定义UI控件(仅限于顶部的最小化最大化/恢复关闭按钮)。我需要为这个目的创建自定义按钮,简单到刚刚创建。

我只需要最小化和最大化/恢复按钮的真正代码(关闭按钮相当于儿戏)。最小化按钮将应用程序恢复到任务栏。最大化按钮将其最大化以适应用户的屏幕,并在最大化时切换到还原按钮。当单击恢复按钮时,窗口将恢复到其初始大小(1200x600)。

我尝试了stage.set大小(宽度,高度);在我的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);
}

共有3个答案

洪建茗
2023-03-14

你必须在主类中调用stage对象。这只能是可以操纵窗口的舞台对象。

见:http://docs.oracle.com/javafx/2/api/javafx/stage/Stage.html

商宏爽
2023-03-14

在JavaFX8中

@Override
public void start(Stage stage) {
    //Maximized
    stage.setMaximized(true);

    //Restore down
    stage.setMaximized(false);
}
龙兴贤
2023-03-14

要将阶段最小化到任务栏中,请为最小化按钮设置类似于以下操作:

    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

 类似资料:
  • 问题内容: 我需要从中删除最大化和最小化按钮。请提出建议。 问题答案:

  • 想通过按钮来控制屏幕最大化或最小化,但是运行之后就会报__dirname is not defined,为什么呢

  • 我将GLFW3.2与LWJGL和Java一起使用。 我想删除窗口上的最大化和最小化按钮,而窗口保持可调整大小,我找不到任何方法在glfw留档中做到这一点。 我见过这个解决方案,但它只适用于窗口,使用C,我正在寻找的解决方案需要跨平台。 是否有可能使用glfw实现这一点?或者我应该使用一个未装饰的glfw窗口并绘制自己的标题栏?

  • 问题内容: 我有一个python程序,它将打开一个新窗口以显示一些“关于”信息。该窗口有其自己的关闭按钮,而我已使其不可调整大小。但是,最大化和最小化按钮仍然存在,我希望它们消失。 我正在使用Tkinter,包装所有信息以显示在Tk类中。 到目前为止的代码如下。我知道它不是很漂亮,我打算将信息扩展到一个类中,但是我想在继续之前解决这个问题。 任何人都知道如何管理Windows管理器显示哪些默认按钮

  • 问题内容: 是否可以在JDialog中添加最大化/最小化按钮?如果不是,那么我们可以将这些按钮添加到JPanel吗? 我有一个JPanel,并且在该面板内部有一个JDialog。我想添加一个最小化/最大化按钮,以便当单击该按钮时,JDialog会根据JPanel调整JDialog下的组件。就像当我单击最大化时,jpanel应该被放大,并且该面板(JDialog)中的组件也被放大,反之亦然,以最小化