![](/img/trans.png)
[英]How to hide the default minimize/maximize and close buttons on JFrame window in Java?
[英]How to minimize, maximize and restore down through buttons in java?
我正在创建一个JavaFX 2.2程序,并且需要创建自定义UI控件(只是那些始终存在的最小化 - 最大化/恢复 - 关闭按钮在顶部)。 我需要为此目的创建自定义按钮,直到创建简单。
我只需要最小化的真实代码和最大化/恢复按钮(关闭按钮相当于孩子的游戏)。 最小化按钮可将应用程序恢复到任务栏。 最大化按钮,最大化它以适应用户的屏幕,并在最大化时切换以恢复按钮。 单击恢复的按钮后,窗口将恢复为其初始大小(1200x600)。
我试过stage.setSize(width, height);
在我的fxml文件中用于还原,但它不起作用( stage
是高亮的错误,而阶段名称是阶段。)
我用了
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
您必须在主类中调用舞台对象。 这只能是可以操纵Window的舞台对象。
请参阅: http : //docs.oracle.com/javafx/2/api/javafx/stage/Stage.html
最小化的代码
@FXML private void minimizeBut()
{
Stage stage=(Stage) minimize.getScene().getWindow();
stage.setIconified(true);
}
在JavaFX8中
@Override
public void start(Stage stage) {
//Maximized
stage.setMaximized(true);
//Restore down
stage.setMaximized(false);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.