新手无法在IntelliJ中使用带有FXML的Gluon多视图正确运行或调试新项目



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

。我打开 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

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

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

@Override
public Dimension2D getDefaultDimensions() {
return isTablet() ? new Dimension2D(900, 600) : new Dimension2D(335, 600);
}
如果将">

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

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

@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设备。在这种情况下,您不需要设备。

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

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

最新更新