Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在eclipse中运行javafx应用程序_Java_Eclipse_Javafx - Fatal编程技术网

Can';t在eclipse中运行javafx应用程序

Can';t在eclipse中运行javafx应用程序,java,eclipse,javafx,Java,Eclipse,Javafx,对于作业,我需要编辑老师提供的Javafx应用程序。可执行jar运行良好,但当我尝试在Eclipse中运行应用程序时,会出现许多错误。我在eclipse中运行的另一个javafx应用程序中遇到了类似的错误,但导出的jar不会运行 以下是主要方法: package mypackage; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import j

对于作业,我需要编辑老师提供的Javafx应用程序。可执行jar运行良好,但当我尝试在Eclipse中运行应用程序时,会出现许多错误。我在eclipse中运行的另一个javafx应用程序中遇到了类似的错误,但导出的jar不会运行

以下是主要方法:

package mypackage;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class RectangeMath extends Application {
       @Override
       public void start(Stage stage) throws Exception {
          Parent root =
             FXMLLoader.load(getClass().getResource("RectangleMath.fxml"));

          Scene scene = new Scene(root); // attach scene graph to scene
          stage.setTitle("Rectangule Math"); // displayed in window's title bar
          stage.setScene(scene); // attach scene to stage
          stage.show(); // display the stage
       }

       public static void main(String[] args) {
          // create a TipCalculator object and call its start method
          launch(args);
       }
    }
以下是我在尝试运行时遇到的错误

Exception in Application start method java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
 Caused by: java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
    at java.lang.Thread.run(Unknown Source)
 Caused by: javafx.fxml.LoadException:  /C:/Users/sethc/OneDrive/Documents/SLCCsu2018/MySourceCode/IntroToGUIs/IntroToGUIsAttempt4/bin/mypackage/RectangleMath.fxml:9
    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:103)
    at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:922)
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
    at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
    at mypackage.RectangeMath.start(RectangeMath.java:13)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    ... 1 more
 Caused by: java.lang.ClassNotFoundException: RectangleMathController
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:920)
    ... 22 more
 Exception running application mypackage.RectangeMath

您可能没有在fxml的
fx:controller
属性中使用controller类的完全限定类名,但是如果没有看到fxml,这是不可能的。您使用的是哪种项目类型?@fabian我使用的文件与我教授现有的可执行jar中的文件相同,工作正常,所以我不确定代码是否是问题所在,除非我的新项目中的文件路径有错误。我怀疑eclipse的某些部分没有正确使用。请让我知道如果你disagree@Greg我尝试了java project和javafx项目类型,结果相同。您需要绝对确保默认包中有一个名为
RectangleMathController
的类(使用
fx:controller=“packagename.RectangleMathController”
如果它不是默认包的一部分)。还要确保在运行时将控制器类的
.class
文件包含在类路径中。