JavaFX primaryStage是否删除windows边框?
我正在制作JavaFX destop应用程序。我想删除默认窗口边框,还想自定义最小化、最大化和关闭三个标准图标JavaFX primaryStage是否删除windows边框?,java,user-interface,jakarta-ee,javafx,javafx-2,Java,User Interface,Jakarta Ee,Javafx,Javafx 2,我正在制作JavaFX destop应用程序。我想删除默认窗口边框,还想自定义最小化、最大化和关闭三个标准图标 这种外观或定制的最初动机是新的卡巴斯基2012用户界面。。。。我想设计这样的东西…:) 这个例子可能是一个很好的起点。所有的窗户装饰都被拆除了。扩展HBox的类可用于放置标准窗口操作的自定义按钮 package javafxdemo; import javafx.application.Application; import javafx.application.Platform;
这种外观或定制的最初动机是新的卡巴斯基2012用户界面。。。。我想设计这样的东西…:) 这个例子可能是一个很好的起点。所有的窗户装饰都被拆除了。扩展HBox的类可用于放置标准窗口操作的自定义按钮
package javafxdemo;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ToolBar;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class JavaDemo extends Application {
public static void main(String[] args) {
launch(args);
}
class WindowButtons extends HBox {
public WindowButtons() {
Button closeBtn = new Button("X");
closeBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent actionEvent) {
Platform.exit();
}
});
this.getChildren().add(closeBtn);
}
}
@Override
public void start(Stage primaryStage) {
//remove window decoration
primaryStage.initStyle(StageStyle.UNDECORATED);
BorderPane borderPane = new BorderPane();
borderPane.setStyle("-fx-background-color: green;");
ToolBar toolBar = new ToolBar();
int height = 25;
toolBar.setPrefHeight(height);
toolBar.setMinHeight(height);
toolBar.setMaxHeight(height);
toolBar.getItems().add(new WindowButtons());
borderPane.setTop(toolBar);
primaryStage.setScene(new Scene(borderPane, 300, 250));
primaryStage.show();
}
}
包javafxdemo;
导入javafx.application.application;
导入javafx.application.Platform;
导入javafx.event.ActionEvent;
导入javafx.event.EventHandler;
导入javafx.scene.scene;
导入javafx.scene.control.Button;
导入javafx.scene.control.ToolBar;
导入javafx.scene.layout.BorderPane;
导入javafx.scene.layout.HBox;
导入javafx.stage.stage;
导入javafx.stage.StageStyle;
公共类JavaDemo扩展了应用程序{
公共静态void main(字符串[]args){
发射(args);
}
类WindowButtons扩展HBox{
公共窗口按钮(){
按钮关闭Btn=新按钮(“X”);
关闭设置动作(新的EventHandler,您可以在其中找到更多有用的示例。感谢上面的示例。.答案很好。+1!但是如果您希望仍然能够在屏幕上移动窗口,该怎么办?更不用说我在这里找到了答案:注:JavaFX8和Eclipse 4.5不起作用,并且链接已断开,请更新标记问题的不合逻辑性如果你真的设计了自己的窗口,请非常保守,尽量坚持每个本地平台的设计。很容易搞糟它,让它看起来像一个廉价的噱头。