import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class app extends Application
{
@Override
public void start(final Stage stage) throws Exception
{
final Circle circ = new Circle(40, 40, 30);
final Group root = new Group(circ);
final Scene scene = new Scene(root, 400, 300);
stage.setTitle("Hello JavaFX 2.0!");
stage.setScene(scene);
stage.show();
}
public static void main(String[] arguments)
{
Application.launch(arguments);
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个 JavaFx 代码,我想从命令行运行它。我尝试了命令 javac -d app.java 它给了我一个错误:没有源文件,如果我尝试使用命令 java -cp D:\javafx-sdk-13.0.2\lib\jfxrt.jar app.java。错误消息是找不到应用程序。我做错了什么以及如何修复它以便 GUI 应用程序从命令行运行?
首先,请确保您知道如何运行常规的java应用程序。
注意:如果您使用的是 JDK 10 或更低版本,则可以像运行其他 java 程序一样直接运行 javafx 应用程序,因为 JDK 10 或更低版本中预装了 javafx。要检查 JDK 版本,请在命令行中键入以下命令:
javac -version
请注意,本教程仅适用于 WINDOWS。
如前所述,您需要以下代码从命令行编译 javafx 应用程序:
步骤 1:输入“cd”,然后将从“C:”(C 盘)开始的路径写入到您以 .java 格式保存上述代码的位置。
步骤2:然后你需要按Enter键,以便命令行打开该路径。如果出现错误,请重新检查您通过的路径。如果路径之间有空格。写入cd后请用双引号(" ")括起来。然后再试一次。
步骤 3:在 .java 文件所在的文件夹中的命令行中键入以下内容:
javac --module-path "Path to your javafx lib folder" --add-modules javafx.controls,javafx.fxml YourFile.java
在上面的双引号中,您需要写入从openjfx.io安装的 javafx-sdk 文件夹中的 lib 文件夹的路径。
上面的代码将把你的.java文件编译成.class文件,这是一种可以被JVM(java虚拟机)解释的代码格式。有关 java 中的类文件的更多信息:Java 类文件。
之后,您需要 java 来解释并运行您刚刚使用上述语法创建的 .class 文件。
为此,您只需在上述代码中从“javac”中删除“c”,并删除 .java 扩展名。其他事情保持不变。
java --module-path "Path to your javafx lib folder" --add-modules javafx.controls,javafx.fxml YourFile
这应该可以完美工作并帮助您从 cmd 运行 javafx 应用程序。
现在,如果您觉得一遍又一遍地编写这段代码是一种负担。您可以执行以下操作。
环境变量可以帮助您将上述代码编译成一个单词,您可以在命令行中键入该单词,并用 % 括起来。
要设置环境变量,请转到屏幕左下角的搜索栏。然后在搜索栏中输入环境变量。
你应该看到类似这样的东西。
您可以单击打开按钮以在控制面板中打开它。然后按照下列步骤操作:
--module-path "Path to your javafx lib folder" --add-modules javafx.controls,javafx.fxml
请在您下载的 openjfx 文件夹中写入 lib 文件夹的完整正确路径。并确保它在双引号内。
完成后,单击“确定”,然后关闭控制面板。现在您需要重新启动命令行应用程序。如果不重新启动,则不会显示您刚刚设置的环境变量。只需关闭它并再次打开即可。
现在在命令行中输入以下内容:
echo %JAVA_FX%
这应该会显示您刚刚设置的变量值。如果它打印 JAVA_FX,那么请考虑重新参考上述步骤,并检查在环境变量的变量值中键入 lib 文件夹的路径时是否存在任何路径错误。
如果它显示正确的值,请继续:
现在您可以在命令行中键入以下命令。确保您位于保存 .java 文件的文件夹中,如果没有,请使用前面提到的“cd”命令直接进入该文件夹:
javac %JAVA_FX% YourFile.java
确保将“YourFile”名称更改为您的 java 文件的名称。
然后它应该将java文件编译成java类文件。然后在命令行中输入以下内容:
java %JAVA_FX% YourFile
这应该可以正常工作。
希望您学到了新的东西,如果您还有任何疑问,请在评论部分提出。
| 归档时间: |
|
| 查看次数: |
24770 次 |
| 最近记录: |