JavaFX 圆角窗口实现教程:打造精美界面
要创建一个圆角窗口,您需要使用 '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 的形状来设置圆角窗口。例如,您可以使用一个圆形面板来创建一个圆形窗口。
原文地址: https://www.cveoy.top/t/topic/oX2R 著作权归作者所有。请勿转载和采集!