无法访问类 com.sun.javafx.util.Utils

我已按照本指南将 JavaFX 安装到 Linux 机器上。首先我安装了 Java 11


asus@asus-pc:/usr/share/openjfx/lib$ java -version

openjdk version "11.0.3" 2019-04-16

OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu219.04.1)

OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu219.04.1, mixed

mode, sharing)

asus@asus-pc:/usr/share/openjfx/lib$ 

然后我从命令安装了 OpenJFXsudo apt-get install openjfx


 asus@asus-pc:/usr/share/openjfx/lib$ ls

 javafx.base.jar      javafx.graphics.jar  javafx.swing.jar

 javafx.controls.jar  javafx.media.jar     javafx.web.jar

 javafx.fxml.jar      javafx.properties    src.zip

 asus@asus-pc:/usr/share/openjfx/lib$ 

然后在 Eclipse 中创建了一个库。

http://img4.mukewang.com/639ae1ad0001668507220606.jpg

然后我将它包含到我的 java 项目中。我尝试运行这段代码:


package se.danielmartensson.start;


import javafx.application.Application;

import javafx.fxml.FXMLLoader;

import javafx.scene.Parent;

import javafx.scene.Scene;

import javafx.stage.Stage;


public class Main extends Application{


    /*

     * Start the start(Stage front)

     */

    public static void main(String[] args) {

        launch();

    }


    @Override

    public void start(Stage front) throws Exception {

        Parent root = FXMLLoader.load(getClass().getResource("/JUSBPlotter/src/se/danielmartensson/fxml/front.fxml"));

        Scene scene = new Scene(root);

        front.setScene(scene);

        front.setTitle("Fracken");

        front.show();

    }


}


动漫人物
浏览 139回答 5
5回答

HUX布斯

使用 JDK 14 的 IntelliJ IDEA 2020.1 也有同样的问题。如果您使用 maven ,最后通过在module-info.java下面添加一个这样的解决方案:src/main/javamodule sample {    requires javafx.controls;    requires javafx.graphics;    opens sample;}

函数式编程

转到 Run>Run Configurations 然后 Arguments 选项卡并转到 VM Arguments 并粘贴以下代码以添加模块“--module-path /path/to/lib --add-modules javafx.controls,javafx.fxml”记得修改/path/to/lib 到你的路径你的图书馆然后点击应用你就设置好了

慕的地8271018

我按照你说的做了,但在那之后我遇到了一些其他的例外,所以我想出了下面的代码:module {pkg}{   requires javafx.controls;   requires javafx.graphics;   requires javafx.fxml;   exports {pkg of Application class};   opens {pkg};}之后你需要重建你的项目可能是因为 Kotlin 的一些异常。然后我看到异常“位置未设置”。要解决此问题,您必须以“/”开头的 fxml 位置,例如:App.class.getResource("/form.fxml");编辑我在JavaFxHelloWorld使用 Gradle 创建了一个 HelloWorld 项目。

慕侠2389804

谢谢,对我来说如下public void start(Stage primaryStage) throws Exception{        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));module-info.java:module sample {    requires javafx.controls;    requires javafx.graphics;    requires javafx.fxml;    opens sample ;}

慕田峪9158850

正如marco-rosati在#638&nbsp;issue 中提出的那样,如果您使用的是 Maven,则只需添加此插件即可:<plugin>&nbsp; &nbsp; <groupId>org.apache.maven.plugins</groupId>&nbsp; &nbsp; <artifactId>maven-surefire-plugin</artifactId>&nbsp; &nbsp; <version>3.0.0-M5</version>&nbsp; &nbsp; <configuration>&nbsp; &nbsp; &nbsp; &nbsp; <argLine> --add-exports javafx.graphics/com.sun.javafx.application=ALL-UNNAMED </argLine>&nbsp; &nbsp; </configuration></plugin>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java