0

我使用 Gluon 插件版本 2.7.0 和 Gradle 4.10.1 在 IntelliJ CE 2018.2.1 中使用 FXML 项目创建了一个全新的 Gluon 移动多视图

我打开 Gradle 工具窗口,选择项目(根),任务,应用程序,运行,我确实看到生成的应用程序运行正常,我相信,虽然它默认为移动设备大小的窗口。

我收到此错误消息:

SEVERE: javafx.platform is not defined. Desktop will be assumed by default.

我想做的是在 IntelliJ 中为 Windows 中所有受支持的平台(嵌入式除外)调试单个 JavaFX 程序,并在开始插入 iPad/iPhone/Android 手机/Android 之前或多或少地看到正确的屏幕尺寸平板电脑/Mac 只是为了让代码逻辑正确。

是否有一些设置可以让我在模拟不同设备之间切换作为第一阶段?

当我双击“调试”时,我收到以下消息并且窗口挂起。

Listening for transport dt_socket at address: 5005

这有关系吗?我们是否试图偶然调试实际设备?

4

2 回答 2

2

至于应用程序大小,当您在桌面上运行时,它默认为 335x600 的手机外形尺寸。这来自Display 服务

@Override
public Dimension2D getDefaultDimensions() {
    return isTablet() ? new Dimension2D(900, 600) : new Dimension2D(335, 600);
}

如果将charm-desktop-form系统属性设置为 ,则可以更改为 900 x 600 的平板电脑格式tablet

或者您可以简单地覆盖这些设置,并设置您想要的大小:

@Override
public void postInit(Scene scene) {
    Swatch.BLUE.assignTo(scene);

    if (Platform.isDesktop()) {
        ((Stage) scene.getWindow()).setWidth(400);
        ((Stage) scene.getWindow()).setHeight(800);
    }
}

当您将应用程序部署到移动设备时,它只会根据屏幕大小进行调整。

与在桌面上运行的消息相关javafx.platform is not defined,该系统属性未定义,因此它是一条警告消息,通知已选择桌面。当您在移动设备上运行时,将为平台设置正确的 Android 或 iOS 值。

最后,关于调试,当您在桌面上运行时,您最初只能调试桌面应用程序,但您可以如上所述修改应用程序的大小。

要调试移动应用程序,您必须运行 iOS 模拟器或 Android 模拟器。

这个问题展示了如何从 IntelliJ 在 Android 上进行调试,但您必须将应用程序实际部署到移动设备上。

在 iOS 上,如果您有 Mac,您可以使用该launchIPhoneSimulator任务来启动 iOS 模拟器,您可以在其中选择任何可能的 iPhone 或 iPad 设备,它们具有不同的屏幕分辨率。在这种情况下,您不需要设备。

于 2018-10-20T04:18:38.643 回答
0

第 2 部分的解决方案:从 IntelliJ 内部调试桌面版本。

在 IntelliJ 中,新建一个 Gradle 类型的运行配置,并使用“运行”而不是“调试”作为“任务”。然后从工具栏中选择“backpack [run]”并使用工具栏上的“debug”图标。IntelliJ 将在启用 JDWP 选项的情况下运行应用程序并将调试器连接到它。

于 2018-10-25T16:58:32.883 回答