Проблемы с использованием предупреждения Gluon Charm

Я понимаю, что предупреждение JavaFX не может использоваться еще с мобильными приложениями. Но как насчет предупреждения о Глюонном заклинании?

Я определил проект Gluon Mobile MultiView FXML. Я обновил зависимости проекта gradle, чтобы включить charm-2.2.0.jar, поэтому класс Gluon Charm Alert доступен. Для того, чтобы использовать его, вам также нужен доступ к javafx.сцена.управление.Тревога.AlertType.

У меня, кажется, нет доступа во время компиляции к вышеупомянутому классу AlertType.

Я использую NetBeans 8.1 с последним плагином Gluon / Gradle на Mac с OS X 10.11.14. Существует ли дополнительная зависимость конфигурации, которую я должен определить?

Заранее спасибо за любую помощь.

Вот мой билд.gradle.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.8'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
}

mainClassName = 'com.capitals.Capitals'

dependencies {
    compile 'com.gluonhq:charm:2.2.0'
    androidRuntime 'com.gluonhq:charm-android:2.2.0'
    iosRuntime 'com.gluonhq:charm-ios:2.2.0'
    desktopRuntime 'com.gluonhq:charm-desktop:2.2.0'
}

jfxmobile {
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
        forceLinkClasses = [
                'com.asgteach.capitals.**.*',
                'com.gluonhq.**.*',
                'io.datafx.**.*',
                'javax.annotations.**.*',
                'javax.inject.**.*',
                'javax.json.**.*',
                'org.glassfish.json.**.*'
        ]
    }
}

1 ответ

  1. Вы можете получить доступ Alert.AlertTypeк классу JavaFX, без необходимости добавления какой-либо зависимости.

    Убедитесь, что вы используете последнюю версию плагина jfxmobile (1.0.8).

    Это работает на настольных и мобильных устройствах:

    import com.gluonhq.charm.glisten.control.Alert;
    import com.gluonhq.charm.glisten.control.AppBar;
    import com.gluonhq.charm.glisten.mvc.View;
    import com.gluonhq.charm.glisten.visual.MaterialDesignIcon;
    import javafx.scene.control.Alert.AlertType;
    import javafx.scene.control.Button;
    import javafx.scene.layout.StackPane;
    
    public class BasicView extends View {
      public BasicView(String name) {
        super(name);
        Button button = new Button("Show alert");
        button.setOnAction(e -> {
            Alert alert = new Alert(AlertType.INFORMATION, "This is an Alert!");
            alert.showAndWait();
        });
        setCenter(new StackPane(button));
      }
    }
    

    Если это не так, опубликуйте свою сборку.gradle и любое исключение вы можете иметь.