使用Gluon Charm警报的问题

时间:2016-05-26 18:16:36

标签: mobile alert gluon gluon-mobile

据我所知,JavaFX的警报无法用于移动应用程序。但是Gluon Charm Alert呢?

我定义了一个Gluon Mobile MultiView FXML项目。我已经更新了gradle项目的依赖项以包含charm-2.2.0.jar,因此可以使用Gluon Charm Alert类。要使用它,您还需要访问javafx.scene.control.Alert.AlertType。

我似乎没有编译时访问上面的AlertType类。

我正在使用带有OS X 10.11.14的Mac上最新的Gluon / Gradle插件的NetBeans 8.1。我必须定义一个额外的配置依赖吗?

提前感谢您的帮助。

这是我的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.**.*'
        ]
    }
}

1 个答案:

答案 0 :(得分: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以及您可能遇到的任何异常。