我正在创建一个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);
}
你必须在主类中调用stage对象。这只能是可以操纵窗口的舞台对象。
见:http://docs.oracle.com/javafx/2/api/javafx/stage/Stage.html
在JavaFX8中
@Override
public void start(Stage stage) {
//Maximized
stage.setMaximized(true);
//Restore down
stage.setMaximized(false);
}
要将阶段最小化到任务栏中,请为最小化按钮设置类似于以下操作:
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)中的组件也被放大,反之亦然,以最小化