如何删除JavaFX阶段按钮(最小化,最大化,关闭)?根据{{1}}方法无法找到任何方法,我应该在舞台上使用样式吗?实现像Stage
,Error
,Warning
这样的对话窗口是必要的。
答案 0 :(得分:58)
如果您只想禁用最大化按钮,请使用:
stage.resizableProperty().setValue(Boolean.FALSE);
或者如果你想要禁用最大化并最小化除了关闭使用
stage.initStyle(StageStyle.UTILITY);
或者如果要删除所有三个,请使用
stage.initStyle(StageStyle.UNDECORATED);
答案 1 :(得分:21)
你只需设置一个舞台的风格。试试这个例子:
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 these examples非常有用。
答案 2 :(得分:9)
primaryStage.setResizable(false);
答案 3 :(得分:7)
primaryStage.initStyle(StageStyle.UTILITY);
答案 4 :(得分:5)
我有同样的问题,看起来像一个未修饰但可拖动/标题的窗口(为审美起见)此时在javafx中是不可能的。最接近的方法是使用close事件。
stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
event.consume();
}
});
如果你喜欢lambdas
stage.setOnCloseRequest(e->e.consume());
答案 5 :(得分:2)
stage.initModality(Modality.APPLICATION_MODAL);
stage.setResizable(false);
答案 6 :(得分:1)
我在这里找到了这个答案 - &gt; 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 :(得分:0)
stage.initStyle(StageStyle.DECORATED);
stage.setResizable(false);
答案 8 :(得分:0)
您可以实现此目标,您可以在舞台对象上调用以下方法
stage.initModality(Modality.APPLICATION_MODAL); // makes stage act as a modal
stage.setMinWidth(250); // sets stage width
stage.setMinHeight(250); // sets stage height
stage.setResizable(false); // prevents resize and removes minimize and maximize buttons
stage.showAndWait(); // blocks execution until the stage is closed