【问题标题】:javafxport(gluon) android class dont buildjavafx port(gluon) android 类不构建
【发布时间】:2016-11-08 03:58:53
【问题描述】:

我创建了一个“使用 FXML 的 Gluon Mobile 多视图”项目。附上结构和错误的图片。 我有这些问题: 1-我构建了 android 但 android 部分中的类不构建。 2- 场景生成器不打开 fxml,因为:

com.gluonhq.charm.glisten.mvc.View

<?xml version="1.0" encoding="UTF-8"?>
<?import com.gluonhq.charm.glisten.control.Icon?>
<?import com.gluonhq.charm.glisten.mvc.View?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.layout.*?>

<View fx:id="primary" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="350.0" stylesheets="@primary.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.gluonapplication1.views.PrimaryPresenter">
<center>

    <VBox alignment="CENTER" prefHeight="200.0" prefWidth="100.0" spacing="15.0" BorderPane.alignment="CENTER">
        <children>
            <TextArea fx:id="txtArea" text="txt area text"/>
            <Label fx:id="label" text="Hello JavaFX World!" />
            <Button mnemonicParsing="false" onAction="#buttonClick" text="Change the World!">
                <graphic>
                    <Icon content="LANGUAGE" />
                </graphic>
            </Button>
        </children>
    </VBox>
</center>
</View>

谢天谢地。

【问题讨论】:

  • 第一个问题与NBAndroid插件有关。似乎它与 JFXMobile 插件配合得不好,并且您会收到这些警告。无论如何,该项目将在 Android 上编译并运行良好。解决方法:禁用NBAndroid。对于第二个(也是已知问题,待修复)启动 Scene Builder 并使用 View 打开 FXML 文件,它将正常加载。
  • 感谢帮助。 1-但类未编译且未添加到 apk。 2-我打开文件但抛出异常:java.io.IOException: java.io.IOException: javafx.fxml.LoadException: src/main/resources/com/gluonapplication1/views/primary.fxmlcom.oracle.javafx.scenebuilder.kit .fxom.FXOMLoader.load(FXOMLoader.java:92) 在 com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.(FXOMDocument.java:82)
  • 尝试先禁用 NBAndroid 插件,然后重新加载您的项目,您应该可以使用 Android 类。然后你可以检查你的代码是否有任何错误,并修复它。
  • 引起:javafx.fxml.LoadException:/src/main/resources/com/gluonapplication1/views/primary.fxml at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source) at javafx.fxml。 FXMLLoader.importClass(Unknown Source) 引起:java.lang.ClassNotFoundException: com.gluonhq.charm.glisten.control.Icon at java.lang.ClassLoader.findClass(Unknown Source) at javafx.fxml.FXMLLoader.loadTypeForPackage(Unknown Source ) 在 javafx.fxml.FXMLLoader.loadType(Unknown Source)
  • nbandroid 没有安装

标签: javafxports gluon-mobile


【解决方案1】:

关于第一个问题,Android 类在 NetBeans 上失败,问题是由于两个 Gradle 插件发生冲突:Gradle Support 和 NBAndroid。

Gluon/JavaFXPorts 使用 NetBeans 的 Gradle 插件,所以这是必须的。例如,NBAndroid 插件可以用于日志记录,但考虑到两者不能很好地协同工作,解决方案就是禁用 NBAndroid。

注意 NBAndroid 插件将在 NetBeans->Tools->Plugins 下,已安装:Android 和 Android Gradle 支持。停用或卸载两者。

重新启动 NetBeans,Android 错误将得到解决。

关于 FXML 问题:带有 Gluon 控件的 FXML (View),无法在 Scene Builder 上加载。

这里有两个问题:

安装 Charm.jar

正如here 所发布的,使用 Jar 管理器可以搜索 charm 并安装自定义组件,一旦在存储库中找到它。目前,com.gluonhq:charm:4.0.1 将得到解决。

如果控制列表为空,请尝试搜索charm-glisten,然后安装com.gluonhq:charm-glisten:4.0.1。这个依赖应该由charm.pom解决,但是好像可能会失败。

第二个问题,一旦安装了charm控件,与从IDE打开fxml文件有关:Scene Builder找不到Charm控件并且加载失败。

这是一个已知问题,将在下一个版本中修复,所以目前有两种选择:

  • 启动 Scene Builder,然后转到 Open...Open recent 并打开 FXML。

  • 编辑 SceneBuilder.cfg 文件(位于 C:\Users\&lt;user&gt;\AppData\Local\SceneBuilder\app\SceneBuilder.cfg 下)并将已安装的自定义 jar 的路径添加到类路径变量 app.classpath=

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    相关资源
    最近更新 更多