import javafx.application.Application;
import javafx.application.Platform;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
/**
* Stage常用配置
*/
public class Demo1 extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
// 设置title
stage.setTitle("hello world");
// 设置icon
stage.getIcons().add(new Image("images/login.jpg"));
stage.setMaximized(true); //设置窗口最大化
stage.close(); // 窗口关闭
stage.setWidth(500); // 设置宽
stage.setHeight(500); // 设置高
stage.setResizable(false); // 设置窗口是否可以改变大小
// 设置最大最小宽高
stage.setMinHeight(300);
stage.setMinWidth(300);
stage.setMaxWidth(300);
stage.setMaxWidth(300);
// 监听宽高
stage.heightProperty().addListener((observableValue, oldValue, newValue) -> System.out.println(newValue.doubleValue()));
stage.widthProperty().addListener((observableValue, oldValue, newValue) -> System.out.println(newValue.doubleValue()));
// 设置透明度 0- 1
stage.setOpacity(0.5);
// 设置窗口置顶
stage.setAlwaysOnTop(true);
// 设置初始位置
stage.setX(100);
stage.setY(100);
// 监听窗口位置
stage.xProperty().addListener((observableValue, oldValue, newValue) -> System.out.println(newValue.doubleValue()));
stage.yProperty().addListener((observableValue, oldValue, newValue) -> System.out.println(newValue.doubleValue()));
// 全屏,需要配合画布 Scene 使用
stage.setFullScreen(true);
stage.setScene(new Scene(new Group()));
// 纯白色背景和带有操作系统装饰定义普通样式
stage.initStyle(StageStyle.DECORATED);
// 透明背景且不带有操作系统装饰装饰的样式
stage.initStyle(StageStyle.TRANSPARENT);
// 纯白色背景和不带有操作系统装饰定义普通样式
stage.initStyle(StageStyle.UNDECORATED);
// 装饰区和主要内容区之间没有边界
stage.initStyle(StageStyle.UNIFIED);
// 纯白色背景和最少用于实用程序窗口的平台装饰的样式
stage.initStyle(StageStyle.UTILITY);
stage.show(); // 宽和高在show之后可以get到
}
}
1.JavaFx Stage常用属性
于 2023-02-06 19:41:21 首次发布