Новичок не может правильно запускать или отлаживать новый проект, используя мультипросмотр Gluon с FXML в IntelliJ

Я создал новый мобильный мультипросмотр Gluon с проектом FXML в IntelliJ CE 2018.2.1, используя плагин Gluon версии 2.7.0 и Gradle 4.10.1.

Я открываю окно инструмента Gradle, выбираю проект (root), задачи, приложение, запускаю, и я вижу, что сгенерированное приложение работает правильно, я полагаю, хотя по умолчанию оно соответствует размеру окна мобильного устройства.

Я получаю это сообщение об ошибке:

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

Что я хотел бы сделать, так это отладить одну программу JavaFX в IntelliJ для всех поддерживаемых платформ (кроме встроенных) в Windows и увидеть более или менее правильные размеры экрана, прежде чем я начну подключать свой iPad/iPhone/телефон Android/Android планшет/Mac просто для правильной логики кода.

Есть ли какой-нибудь параметр, который позволит мне переключаться между имитациями разных устройств в качестве первого этапа?

Когда я дважды щелкаю «отладка», я получаю следующее сообщение, и окно зависает.

Listening for transport dt_socket at address: 5005

Это связано? Мы случайно пытаемся отладить реальное устройство?


person tpc1095    schedule 20.10.2018    source источник


Ответы (2)


Что касается размера приложения, то при запуске на настольном компьютере оно по умолчанию соответствует форм-фактору телефона 335x600. Это взято из Display service:

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

Вы можете перейти на формат планшета 900 x 600, если для системного свойства charm-desktop-form установите значение 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.

Этот вопрос показывает, как выполнять отладку на Android из IntelliJ, но у вас есть для фактического развертывания приложения на мобильном устройстве.

В iOS, если у вас есть Mac, вы можете использовать задачу launchIPhoneSimulator для запуска симулятора iOS, где вы можете выбрать любое из возможных устройств iPhone или iPad с разным разрешением экрана. В этом случае вам не нужно устройство.

person José Pereda    schedule 20.10.2018
comment
Другая половина моего вопроса заключается в том, что когда я пытаюсь отладить рабочий стол, он зависает, пытаясь подключить сокет к программе, которая не запускается. - person tpc1095; 21.10.2018
comment
Вы говорите мне, что Gluon Mobile не предназначен для отладки настольных приложений Macintosh и Windows? - person tpc1095; 23.10.2018
comment
Gluon Mobile нацелен в основном на мобильные устройства, но также работает на настольных компьютерах. Вы можете отлаживать приложения, работающие на ПК или Android. Возможно, вы можете отредактировать свой вопрос и уточнить, что именно вы ищете. - person José Pereda; 23.10.2018
comment
Буду пробовать и десктопную и мобильную. - person tpc1095; 23.10.2018
comment
В конце исходного вопроса говорится, что отладка зависает в ожидании подключения к порту 5005. Приложение не запускается в режиме отладки, хотя оно начинается с «запустить». Хотел бы я отладить. - person tpc1095; 23.10.2018
comment
Вы можете отлаживать IntelliJ, как настольные, так и Android-приложения, как в связанном вопросе моего ответа. - person José Pereda; 23.10.2018
comment
Что конкретно я должен сделать для отладки настольного приложения в Windows? Я устанавливаю точку останова в GluonApplication init() на addViewFactory(...) и дважды щелкаю :myApp -> Tasks -> application -> debug. Я получаю это в консоли: - person tpc1095; 25.10.2018
comment
17:50:34: выполнение задачи «отладка»... packageApp:processDesktopResources NO-SOURCE :backpackApp:desktopClasses UP-TO-DATE :backpackApp:debug Прослушивание транспорта dt_socket по адресу: 5005, но точка останова не сработала. - person tpc1095; 25.10.2018

Решение для части 2. Отладьте версию Desktop из IntelliJ.

В IntelliJ создайте новую конфигурацию запуска типа Gradle и используйте «запуск», а не «отладку» в качестве «задачи». Затем выберите «рюкзак [выполнить]» на панели инструментов и используйте значок «отладка» на панели инструментов. IntelliJ запустит приложение с включенными параметрами JDWP и подключит к нему отладчик.

person tpc1095    schedule 25.10.2018