如何从命令行运行JAVAFX应用程序

 2023-02-16    400  

问题描述

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);
   }
}

我有我想从命令行运行的Javafx代码.
我尝试了命令javac -d app.java,它给了我一个错误:没有源文件,如果我尝试使用命令java -cp d:\ javafx -sdk -13.0.2 \ lib \ lib \ jfxrt.jar app.java.错误消息找不到应用.
我在做什么错,如何修复它,以便GUI应用程序从命令行运行?

推荐答案

首先,请确保您知道如何运行常规Java应用程序.

如何从命令行运行JAVAFX应用程序

注意:如果您使用的是JDK版本10或以上,则可以像使用其他Java程序一样直接运行Javafx应用程序,因为JAVAFX已预装在JDK 10或以下.为了检查您的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中编写javafx-sdk文件夹中的lib文件夹的路径. io .

上面的代码将您的.java文件编译为.class文件,这是可以由JVM(Java Virtual Machine)解释的代码格式.有关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.

现在,如果您一次又一次地编写此代码,这让您感到负担.您可以执行以下操作.

一个环境变量可以帮助您将上述代码编译为一个单词,您可以在命令行中输入以%的命令行.

为了设置您的环境变量,请转到屏幕左下角的搜索栏.然后在搜索栏中键入环境变量.

您应该看到 this .

您可以单击”打开”按钮,以便在控制面板中将其打开.然后按照以下步骤:

  1. 转到标签:高级,这可能是打开它时的默认选项卡.
  2. 单击右下角的”环境变量”.
  3. 在第二个底部面板中单击”新”.
  4. 将”变量名”设置为” Java_fx”
  5. 将”变量值”设置为以下:

–module-path "Path to your javafx lib folder" –add-modules javafx.controls,javafx.fxml
请在您下载的OpenJFX文件夹中写下通往LIB文件夹的完整路径.并确保它是 double引号.

这样做后,单击”确定”,然后关闭控制面板.现在,您需要重新启动命令行应用程序.如果不重新启动,它将不会显示您刚刚设置的环境变量.只需关闭它并再次打开即可.

现在在命令行中键入以下内容:
echo %JAVA_FX%

这应该向您显示您刚刚设置的可变值.如果它打印Java_FX,请考虑重新引用上述步骤并在键入环境变量中的可变值中的LIB文件夹的路径时检查任何路径错误.

如果显示正确的值,请继续:

现在您可以在命令行中键入以下命令.确保您在保存.java文件的文件夹中,如果不是,请使用前面提到的” CD”命令直接直接到该文件夹​​:

javac %JAVA_FX% YourFile.java
确保将”您的文件”名称更改为Java文件的名称.

然后,它应将Java文件编译到Java类文件中.然后,您在命令行中输入以下内容:
java %JAVA_FX% YourFile

这应该可以正常工作.

希望您学到了一些新知识,如果您有进一步的查询,请在评论部分中提及它们.

其他推荐答案

这是我用来使其从命令行运行的命令

编译:

javac --module-path D:\javafx-sdk-13.0.2\lib --add-modules javafx.controls app.java

运行:

java --module-path D:\javafx-sdk-13.0.2\lib --add-modules javafx.controls app

其他推荐答案

它与从命令行中运行任何其他Java程序的工作方式不同.您只需要进入类app所在的目录,然后输入以下命令:javac app.java如果目录中只有该类,则javac app.java.如果有多个Java文件,请键入javac *.java.然后,在编译文件后,键入Java,然后使用其中的主要方法的类名称.就您而言,这看起来像java app.这应该从命令行运行您的JAVAFX代码.在附带说明上,班级名称应遵循 pascalcase 命名约定.

以上所述是小编给大家介绍的如何从命令行运行JAVAFX应用程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33961.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。