要创建一个圆角窗口,您需要使用 'StageStyle.TRANSPARENT' 样式并设置 'Scene.setFill(Color.TRANSPARENT)'。接下来,您需要为舞台创建一个自定义的 Scene,并将其设置为圆形。最后,您需要处理拖动窗口和关闭窗口的事件。

以下是一个示例代码:

import javafx.application.Application;
import javafx.scene.Cursor;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class RoundedStage extends Application {

    private double xOffset = 0;
    private double yOffset = 0;

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.initStyle(StageStyle.TRANSPARENT);
        Pane root = new Pane();
        root.setPrefSize(400, 400);
        root.setOnMousePressed(event -> {
            xOffset = event.getSceneX();
            yOffset = event.getSceneY();
        });
        root.setOnMouseDragged(event -> {
            primaryStage.setX(event.getScreenX() - xOffset);
            primaryStage.setY(event.getScreenY() - yOffset);
        });
        Scene scene = new Scene(root, Color.TRANSPARENT);
        scene.setCursor(Cursor.HAND);
        scene.setFill(Color.TRANSPARENT);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在此示例中,我们使用 Pane 作为根节点,并为其添加了拖动和关闭窗口的事件。我们还设置了舞台的样式为 'StageStyle.TRANSPARENT',并将其 Scene 的填充颜色设置为 'Color.TRANSPARENT'。

您可以自己通过修改 Pane 的形状来设置圆角窗口。例如,您可以使用一个圆形面板来创建一个圆形窗口。

JavaFX 圆角窗口实现教程:打造精美界面

原文地址: https://www.cveoy.top/t/topic/oX2R 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录