JavaFx实现一个遮罩(十二)
JavaFx实现一个遮罩(十二)
JavaFx从入门到入土系列
StackPane 在一个从后到前的堆栈中布置其子项。
子项的 z 顺序由子项列表的顺序定义,第 0 个子项位于底部,最后一个子项位于顶部。如果设置了边框和/或填充,则子项将被布置在这些插图中。
使用 StackPane 的setPadding(new Insets(0, 0, 0, 0));
将子项内容铺满。
遮罩我就直接拿开源的了 controlsfx 的 MaskerPane 用法
<dependency>
<groupId>org.controlsfx</groupId>
<artifactId>controlsfx</artifactId>
<version>11.1.0</version>
</dependency>
使用代码:
StackPane body = new StackPane();
// 让子项都铺满
body.setPadding(new Insets(0, 0, 0, 0));
// 使用框架的遮罩
MaskerPane loginMaskerPane=new MaskerPane();
// 遮罩显示
loginMaskerPane.setVisible(true);
// 将子项都放到StackPane 其中 root是布局 VBox 登录页面
body.getChildren().addAll(root, loginMaskerPane);
// 加入场景
setScene(new Scene(body));
效果: