2016-05-26 5 views
0

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

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

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

Я использую NetBeans 8.1 с последним подключаемым модулем Gluon/Gradle на Mac с OS X 10.11.14. Есть ли дополнительная зависимость настройки, которую я должен определить?

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

Вот мой файл build.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.**.*' 
     ] 
    } 
} 

ответ

0

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

Убедитесь, что вы используете последнюю версию плагина 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)); 
    } 
} 

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

+0

Спасибо, Хосе, за ваш быстрый ответ. Действительно, код, который вы опубликовали, без проблем. Тем не менее, NetBeans дает мне ошибку с красной строкой с сообщением: «Тип Alert (AltertType, String) ошибочен. Пакет javafx.scene.control.Alert не существует». –

+0

Вы должны иметь возможность запускать как JavaFX, так и Gluon's Alert. Что такое ваш JDK? JavaFX Alert доступен с 8u40, но Gluon уже связывает 8u60. –

+0

JDK в соответствии с платформой Java NetBeans - jdk1.8.0_74.jdk. –