Как удалить кнопки сцены JavaFX (минимизировать, максимизировать, закрыть)? Не можете найти какие-либо методы Stage
, так что я должен использовать стиль для сцены? Это необходимо для реализации диалоговых окон типа Error
, Warning
, Info
.
Как удалить кнопки сцены JavaFX (свернуть, увеличить, закрыть)
Ответ 1
Если вы хотите отключить только кнопку максимизации, используйте:
stage.resizableProperty().setValue(Boolean.FALSE);
или если вы хотите отключить максимизацию и минимизацию, кроме близкого использования
stage.initStyle(StageStyle.UTILITY);
или если вы хотите удалить все три, используйте
stage.initStyle(StageStyle.UNDECORATED);
Ответ 2
Вам просто нужно установить стиль сцены. Попробуйте этот пример:
package undecorated;
import javafx.application.Application;
import javafx.stage.StageStyle;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class UndecoratedApp extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.initStyle(StageStyle.UNDECORATED);
Group root = new Group();
Scene scene = new Scene(root, 100, 100);
primaryStage.setScene(scene);
primaryStage.show();
}
}
При изучении JavaFX 2.0 эти примеры очень полезны.
Ответ 3
primaryStage.setResizable(false);
Ответ 4
primaryStage.initStyle(StageStyle.UTILITY);
Ответ 5
У меня есть одна и та же проблема, похоже, что в javafx в данный момент невозможно использовать неэкранированное, но перетаскиваемое/озаглавленное окно (для эстетического). Самый близкий подход - использовать событие закрытия.
stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
event.consume();
}
});
Если вам нравится lambdas
stage.setOnCloseRequest(e->e.consume());
Ответ 6
Я нашел здесь этот ответ → http://javafxportal.blogspot.ie/2012/03/to-remove-javafx-stage-buttons-minimize.html Мы можем это сделать:
enter code here
@Override
public void start(Stage primaryStage) {
primaryStage.initStyle(StageStyle.UNDECORATED);
Group root = new Group();
Scene scene = new Scene(root, 100, 100);
primaryStage.setScene(scene);
primaryStage.show();
}
Ответ 7
stage.initModality(Modality.APPLICATION_MODAL);
stage.setResizable(false);
Ответ 8
stage.initStyle(StageStyle.DECORATED);
stage.setResizable(false);