JavaFX 圆角窗口实现指南
JavaFX 圆角窗口可以通过使用 'StageStyle.TRANSPARENT' 和 'Stage.setShape()' 方法来实现。
以下是一个简单的示例代码:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class RoundedCornerWindow extends Application {
@Override
public void start(Stage primaryStage) {
// 创建一个 StackPane 作为窗口的根布局
StackPane root = new StackPane();
root.setStyle("-fx-background-color: transparent;"); // 设置根布局的背景色为透明
// 创建一个矩形,设置圆角半径为 20
Rectangle rect = new Rectangle(400, 300);
rect.setArcWidth(20);
rect.setArcHeight(20);
rect.setFill(Color.WHITE); // 设置矩形的填充色为白色
root.getChildren().add(rect);
// 创建一个场景,并设置根布局为场景的根节点
Scene scene = new Scene(root, 400, 300);
scene.setFill(Color.TRANSPARENT); // 设置场景的背景色为透明
// 设置舞台的样式为透明,并设置舞台的形状为矩形
primaryStage.initStyle(StageStyle.TRANSPARENT);
primaryStage.setScene(scene);
primaryStage.show();
// 设置窗口的形状为矩形
root.setClip(rect);
}
public static void main(String[] args) {
launch(args);
}
}
在此示例中,我们创建了一个 StackPane 作为窗口的根布局,并设置了根布局的背景色为透明。然后,我们创建了一个矩形,并设置其圆角半径为 20。接着,我们将矩形添加到根布局中,并创建了一个场景,将根布局设置为场景的根节点,并设置场景的背景色为透明。最后,我们将舞台的样式设置为透明,并将舞台的形状设置为矩形,然后显示窗口。
为了实现圆角窗口,我们还需要将根布局裁剪成矩形的形状。我们可以使用 'StackPane.setClip()' 方法来实现。在上面的示例中,我们在窗口显示后,通过调用 'root.setClip(rect)' 方法将根布局裁剪成矩形的形状。
原文地址: https://www.cveoy.top/t/topic/oX3m 著作权归作者所有。请勿转载和采集!