0

我了解 JavaFX 的警报还不能用于移动应用程序。但是胶子魅力警报呢?

我已经定义了一个 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 上使用 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.**.*'
        ]
    }
}
4

1 回答 1

0

您可以访问 JavaFXAlert.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 以及您可能遇到的任何异常。

于 2016-05-26T19:48:33.023 回答