You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下JavaFX应用全屏时对话框全屏问题求助(OpenJFX 25/Java 25)

解决MacOS下JavaFX全屏时对话框全屏的问题

方案1:显式指定对话框的尺寸与所有者

在弹出对话框时,绑定到主窗口并强制设置首选大小,避免系统自动拉伸成全屏:

// 假设primaryStage是你的主窗口
Dialog<Void> dialog = new Dialog<>();
dialog.initOwner(primaryStage);
// 强制设置对话框的初始尺寸
dialog.setPrefWidth(600);
dialog.setPrefHeight(400);
// 后续对话框配置逻辑...

方案2:用Stage替代Dialog实现对话框功能

Stage比Dialog拥有更灵活的窗口属性控制,能彻底避免全屏拉伸问题:

Stage dialogStage = new Stage();
dialogStage.initOwner(primaryStage);
dialogStage.initModality(Modality.APPLICATION_MODAL);
// 自定义对话框内容与尺寸
dialogStage.setScene(new Scene(new VBox(new Label("对话框内容")), 600, 400));
dialogStage.setResizable(false); // 可选,固定对话框大小
dialogStage.showAndWait();

方案3:调整对话框的StageStyle

将对话框的初始化风格设为UTILITY,这类窗口默认会保持紧凑尺寸,不会跟随主窗口全屏:

Dialog<Void> dialog = new Dialog<>();
dialog.initOwner(primaryStage);
dialog.initStyle(StageStyle.UTILITY);
// 对话框配置...

方案4:验证OpenJFX版本兼容性

OpenJFX 25在MacOS上可能存在全屏场景的适配bug,可尝试升级到最新小版本(如25.0.1),或回退到OpenJFX 24版本确认是否为版本特定问题。

内容的提问来源于stack exchange,提问作者guymac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 03:07:03