我开始学习如何使用JavaFx制作GUI,我遵循的基本原理是运行一个简单的“ hello world”程序,该书的作者是Carl Dea的“ JavaFx 9 by Example”。
但是最后,即使我只是复制了源代码和bash命令,javac也不承认javaFx软件包。
这不是我用Java编写的第一个代码,但这是我第一次在MacOs中使用终端对其进行编译和运行。
同时,我在学习JavaFx,同时也吸收了Bash。我了解到MacO具有旧版本;因此我将默认设置替换为新版本“ 5.0.7(1)-release”。
我不知道这是否重要,但
$ echo "$BASH_VERSION"
5.0.7(1)-release.
和。
$ bash -version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17).
此外,几天前我下载并安装了Java的最新版本
$ java --version
java 12.0.1 2019-04-16
Java(TM) SE Runtime Environment (build 12.0.1+12)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)
它可能与Java路径有关,但是如果我不确定如何解决它,那么
我相信的问题是在导入javaFx库时:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
编译时,出现几个错误。
其中一些是:
$ javac -d classes src/*.java
src/HelloWorld.java:2: error: package javafx.application does not exist.
import javafx.application.Application;
^
基本上,似乎javac无法识别或知道javaFx中是否存在任何程序包。
此错误缓解了要使用此类创建的对象
symbol: class Application
src/HelloWorld.java:20: error: cannot find symbol
public void start(Stage stage) {
^
编辑:
感谢您的回答,我终于能够用JavaFx做一个简单的应用程序。唯一令我困扰的是编译此代码所需的大型命令提示符。
$ javac --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorld.java
$ java --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorld
它不会消失,不是吗?