2016-05-26 52 views
0

據我所知,JavaFX的警報不能用於移動應用程序。但是,膠子魅力警報呢?使用Gluon Charm的警報的問題

我已經定義了一個Gluon Mobile MultiView FXML項目。我已經更新了gradle項目的依賴項以包含charm-2.2.0.jar,因此可以使用Gluon Charm Alert類。爲了使用它,你還需要訪問javafx.scene.control.Alert.AlertType。

我似乎沒有編譯時訪問上述AlertType類。

我在Mac OS X 10.11.14上使用NetBeans 8.1和最新的Gluon/Gradle插件。是否還需要定義一個額外的配置依賴項?

在此先感謝您的幫助。

這是我的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

謝謝José,您的快速回復。事實上,你發佈的代碼運行沒有問題。但是,NetBeans給我一個紅線編譯錯誤消息:「警報類型(AltertType,String)是錯誤的,包javafx.scene.control.Alert不存在。」 –

+0

您應該能夠運行JavaFX和Gluon的Alert。你的JDK是什麼? JavaFX Alert自8u40起可用,但Gluon已捆綁8u60。 –

+0

根據NetBeans Java Platform的JDK是jdk1.8.0_74.jdk。 –