JavaFX可以用于覆盆子皮吗

JavaFX可以用于覆盆子皮吗,java,javafx,raspberry-pi,Java,Javafx,Raspberry Pi,我想使用JavaFX为Raspberry Pi编写程序,但我的Raspberry Pi上的JavaSDK8似乎不支持JavaFX 所以我的问题是,Raspberry Pi 2/3是否支持JavaFX?如果是,为什么JDK平台上没有JavaFX库?有没有办法支持它或者值得在Raspberry PI上编写JavaFX应用程序 正在使用的Java版本是1.8.0\u 65如果您使用的是Oracle JDK for ARM 8u33/Oracle Java SE Embedded 8u33或更高版本,您

我想使用JavaFX为Raspberry Pi编写程序,但我的Raspberry Pi上的JavaSDK8似乎不支持JavaFX

所以我的问题是,
Raspberry Pi 2/3
是否支持JavaFX?如果是,为什么JDK平台上没有JavaFX库?有没有办法支持它或者值得在Raspberry PI上编写JavaFX应用程序


正在使用的Java版本是
1.8.0\u 65

如果您使用的是
Oracle JDK for ARM 8u33/Oracle Java SE Embedded 8u33
或更高版本,您将无法在JDK中找到捆绑的JavaFX。Oracle从8u33开始将JavaFX从ARM包中删除。有关更多信息,请查看

那么,我们还可以在Raspberry PI上使用JavaFX吗

当然可以。以下是仍然可以在嵌入式设备上运行JavaFX的几种方法:

  • 最好的办法是安装由提供的嵌入式SDK,其中包括针对ARM的
    jfxrt.jar
    。您可以将jar复制到JDK中,并在Raspberry PI上运行JavaFX。Glion通过帮助用户通过插件部署JavaFX插件进一步扩展了支持。看看:

  • 您可以使用以前版本的OracleJDK,它捆绑了JavaFX
  • 您还可以构建OpenJFX并将其添加到JDK中(这不是一种简单的方法)
  • 如果您想了解有关嵌入式JavaFX的更多信息,以下是一些有用的链接:

    • 对于JavaFX11,可以阅读

    您还可以从Gluon下载预构建的二进制文件


    是的,您可以在Raspberry Pi上运行JavaFX,但某些类库在默认情况下不起作用,例如示例媒体。
    目前,我仍在尝试使用此媒体类库处理raspberry Pi

    由于某些原因,上面的链接不起作用,但我可以从 [死亡] 然后解压缩文件夹并复制

    armv6hf-sdk/rt/lib/ext/**jfxrt.jar**              --> jre/lib/ext/
    armv6hf-sdk/rt/lib/arm/*****                      --> jre/lib/arm/ 
    armv6hf-sdk/rt/lib/**javafx.platform.properties** --> jre/lib/ 
    armv6hf-sdk/rt/lib/**javafx.properties**          --> jre/lib/ 
    armv6hf-sdk/rt/lib/**jfxswt.jar**                 --> jre/lib/
    

    重新启动Raspberry Pi和FX应用程序工作正常

    是的,您可以使用JavaFx

    下面是一个在Raspberry PI上启用javafx的脚本(在raspbian stretch上测试)

    #/bin/bash
    #在raspberry PI上安装javafx
    #WF2019-01-13
    src=/usr/local/src
    ext=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/ext
    javafx=armv6hf sdk
    #ansi颜色
    #http://www.csc.uvic.ca/~sae/seng265/fall04/tips/s265s047 tips/bash-using-colors.html
    蓝色='\033[0;34米'
    红色='\033[0;31m'
    绿色='\033[0;32m'#'\e[1;32m'对于白色背景来说太亮了。
    endColor='\033[0m'
    #
    #彩色消息
    #参数:
    #1:l_颜色-消息的颜色
    #2:l_msg-要显示的消息
    #
    颜色_msg(){
    本地l_颜色=“$1”
    本地l_msg=“$2”
    echo-e“${l_color}$l_msg${endColor}”
    }
    或
    #
    #在stderr上显示给定的错误消息并退出
    #
    #参数:
    #1:l_msg-要显示的错误消息
    #
    错误(){
    本地l_msg=“$1”
    #使用ansi红色表示错误
    颜色\u msg$red“错误:1>&2
    颜色为红色“\t$l\u msg”1>&2
    出口1
    }
    #
    #错误
    #
    #在stderr上显示给定的错误消息并退出
    #
    #参数:
    #1:l_msg-要显示的错误消息
    #
    错误(){
    本地l_msg=“$1”
    #使用ansi红色表示错误
    颜色\u msg$red“错误:1>&2
    颜色为红色“\t$l\u msg”1>&2
    出口1
    }
    color\u msg$blue“正在尝试安装javafx”
    如果[!-d$ext]
    然后
    错误“目录$ext不存在-需要java安装”
    fi
    如果[!-d$src]
    然后
    错误“目录$src丢失-应为”
    fi
    cd$src
    如果[!-f$javafx.zip]
    然后
    color_msg$blue“下载$javafx.zip”
    sudo curl-Lhttps://gluonhq.com/download/javafx-embedded-sdk/ -o$javafx.zip
    其他的
    color_msg$green“$javafx.zip已下载”
    fi
    如果[!-d$javafx]
    然后
    color_msg$blue“提取”$javafx.zip
    sudo解压$javafx.zip
    其他的
    颜色\u msg$green“$javafx已提取”
    fi
    cd$ext
    颜色\u msg$蓝色“创建符号链接”
    对于rt/lib/arm rt/lib/ext/jfxrt.jar lib/javafx-mx.jar lib7JFX rt/lib/jfxswt.jar中的路径
    做
    from=$src/$javafx/$path
    b=$(basename$来自)
    如果[-L$b]
    然后
    颜色\u msg$green“符号链接$b已存在”
    其他的
    sudo ln-s$src/$javafx/$path。
    fi
    完成
    
    这个问题已经有点老了,但到今天为止,您还可以从Bellsoft下载并安装最新的JDK,其中还包括最新的JavaFX。

    如果还有人来到这里,我想指出我写的一篇文章,并准确地演示了这一点:。正如mipa回答的那样,BellSoft LibericaJDK确实是在Raspberry Pi上使用JavaFX的完美JavaJDK。

    您使用的是哪个JDK次要版本?”或者,您可以构建OpenJFX并将其添加到您的JDK中(这不是一种简单的方法)很显然(很简单)-对Windows不确定-运行
    sudo-apt-get-install-openjfx
    得到了我所需要的一切。当我尝试
    sudo-apt-get-install-openjfx
    时,我得到一个错误,说明它无法找到程序包openjfx。顺便说一句,这篇文章不错。