![](/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.