每当我尝试在 JavaFX 中编写代码时,我总是会遇到相同的错误。我究竟做错了什么?

-2 java javafx intellij-idea

代码:

package learning;

import javafx.application.Application;
import javafx.stage.Stage;

public class One extends Application {

    public static void main (String[] args){
        launch(args);
    }

    @Override
    public void start(Stage stage) throws Exception {


    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

Exception in Application constructor Exception in thread "main"
java.lang.reflect.InvocationTargetException 
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) 
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1071)
Caused by: java.lang.RuntimeException: Unable to construct Application
instance: class learning.One
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:893)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:198)
        at java.base/java.lang.Thread.run(Thread.java:833) Caused by:
java.lang.IllegalAccessException: class com.sun.javafx.application.LauncherImpl (in module javafx.graphics) cannot access class learning.One (in module com.example.hoho) because module com.example.hoho does not export learning to module javafx.graphics
        at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:392)
        at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:674)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:489)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:805)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:474)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:447)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:446)
        at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
        at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native
Method)
        at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
        ... 1 more
Run Code Online (Sandbox Code Playgroud)

我已经下载了 JavaFX 并将其放入我的项目结构中,并且由于我在 Intellij 中工作,所以当我第一次打开新项目时我得到的所有示例类都可以工作。但是,每当我尝试编写自己的代码时,总会出现此错误。有什么帮助吗?

mip*_*ipa 5

关键部分在这里:

class com.sun.javafx.application.LauncherImpl (in module javafx.graphics)
cannot access class learning.One (in module com.example.hoho) because 
module com.example.hoho does not export learning to module javafx.graphics
Run Code Online (Sandbox Code Playgroud)

您必须将其添加到您的 module-info.java 中。