我在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 选项的情况下运行应用,并将调试器连接到该应用。