我在IntelliJ CE 2018.2.1中使用FXML项目使用Gluon插件版本2.7.0和Gradle 4.10.1创建了全新的Gluon移动多视图
我相信我会打开Gradle工具窗口,选择Project(root),Tasks,Application,然后运行,但我确实看到生成的应用程序正常运行,尽管它默认为移动设备大小的窗口。
我收到此错误消息:
SEVERE: javafx.platform is not defined. Desktop will be assumed by default.
我想做的是在IntelliJ中调试一个JavaFX程序,用于Windows中所有受支持的平台(嵌入式除外),并在我开始插入iPad / iPhone / Android之前查看大致正确的屏幕尺寸。手机/ Android平板电脑/ Mac只是为了正确使用代码逻辑。
是否有一些设置可以让我在第一阶段模拟不同的设备之间进行切换?
当我双击“调试”时,出现以下消息,并且窗口挂起。
Listening for transport dt_socket at address: 5005
这有关系吗?我们是在试图偶然调试实际设备吗?
答案 0 :(得分:1)
关于应用程序大小,当您在桌面上运行时,其默认尺寸为335x600。这来自Display
service:
@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模拟器。
此question显示了如何从IntelliJ在Android上进行调试,但是您实际上必须将应用程序部署到移动设备上。
在装有Mac的iOS上,可以使用launchIPhoneSimulator
任务启动iOS模拟器,在该模拟器中,可以选择屏幕分辨率不同的任何可能的iPhone或iPad设备。在这种情况下,您不需要设备。
答案 1 :(得分:0)
第2部分的解决方案:从IntelliJ内部调试桌面版本。
在IntelliJ中,进行Gradle类型的新运行配置,并使用“运行”而不是“调试”作为“任务”。然后从工具栏选择“背包[运行]”,并使用工具栏上的“调试”图标。 IntelliJ将在启用JDWP选项的情况下运行该应用程序,并将调试器连接到该应用程序。