JavaFX在应用程序启动方法java.lang.reflect.InvocationTargetException中不断获取异常 应用程序启动方法中出现异常 java.lang.reflect.InvocationTargetException 位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.base/java.lang.reflect.Method.invoke(Method.java:567) 位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplicationWithArgs(LaunchImpl.java:464) 位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplication(LaunchImpl.java:363) 位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.base/java.lang.reflect.Method.invoke(Method.java:567) 位于java.base/sun.launcher.launchelper$FXHelper.main(launchelper.java:1051) 原因:java.lang.RuntimeException:应用程序启动方法中的异常 位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplication1(LaunchImpl.java:900) 在javafx.graphics/com.sun.javafx.application.LaunchImpl.lambda$launchApplication$2(LaunchImpl.java:195) 位于java.base/java.lang.Thread.run(Thread.java:830) 原因:java.lang.NullPointerException:子节点:子节点为null:父节点=VBox@4b0d9981 位于javafx.graphics/javafx.scene.Parent$3.onProposedChange(Parent.java:542) 在javafx.base/com.sun.javafx.collections.VetoableListDecorator.addAll(VetoableListDecorator.java:234) 在javafx.base/com.sun.javafx.collections.VetoableListDecorator.addAll(VetoableListDecorator.java:103) 位于javafx.graphics/javafx.scene.layout.VBox.(VBox.java:251) 在MultiplyApp.start(MultiplyApp.java:34) 在javafx.graphics/com.sun.javafx.application.launchempl.lambda$launchApplication1$9(launchempl.java:846) 在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) 在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) 位于java.base/java.security.AccessController.doPrivileged(AccessController.java:391) 位于javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) 位于javafx.graphics/com.sun.glass.ui.invokelateDispatcher$Future.run(invokelateDispatcher.java:96) 在javafx.graphics/com.sun.glass.ui.win.WinApplication.\u runLoop(本机方法) 位于javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ... 还有一个 运行应用程序MultiplyApp时出现异常

JavaFX在应用程序启动方法java.lang.reflect.InvocationTargetException中不断获取异常 应用程序启动方法中出现异常 java.lang.reflect.InvocationTargetException 位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.base/java.lang.reflect.Method.invoke(Method.java:567) 位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplicationWithArgs(LaunchImpl.java:464) 位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplication(LaunchImpl.java:363) 位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.base/java.lang.reflect.Method.invoke(Method.java:567) 位于java.base/sun.launcher.launchelper$FXHelper.main(launchelper.java:1051) 原因:java.lang.RuntimeException:应用程序启动方法中的异常 位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplication1(LaunchImpl.java:900) 在javafx.graphics/com.sun.javafx.application.LaunchImpl.lambda$launchApplication$2(LaunchImpl.java:195) 位于java.base/java.lang.Thread.run(Thread.java:830) 原因:java.lang.NullPointerException:子节点:子节点为null:父节点=VBox@4b0d9981 位于javafx.graphics/javafx.scene.Parent$3.onProposedChange(Parent.java:542) 在javafx.base/com.sun.javafx.collections.VetoableListDecorator.addAll(VetoableListDecorator.java:234) 在javafx.base/com.sun.javafx.collections.VetoableListDecorator.addAll(VetoableListDecorator.java:103) 位于javafx.graphics/javafx.scene.layout.VBox.(VBox.java:251) 在MultiplyApp.start(MultiplyApp.java:34) 在javafx.graphics/com.sun.javafx.application.launchempl.lambda$launchApplication1$9(launchempl.java:846) 在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) 在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) 位于java.base/java.security.AccessController.doPrivileged(AccessController.java:391) 位于javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) 位于javafx.graphics/com.sun.glass.ui.invokelateDispatcher$Future.run(invokelateDispatcher.java:96) 在javafx.graphics/com.sun.glass.ui.win.WinApplication.\u runLoop(本机方法) 位于javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ... 还有一个 运行应用程序MultiplyApp时出现异常,java,javafx,Java,Javafx,我的代码是 import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.control.Label; import javafx.scene.control.Button; import java

我的代码是




import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.control.Label;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.event.EventHandler;
import javafx.event.ActionEvent;
import javax.swing.*;  

public class MultiplyApp extends Application {
    private TextArea firstInt;
    private TextArea secondInt;
    private TextArea resultLabel;
    RecursiveMultiply myObj= new RecursiveMultiply();

    public static void main(String[] args) {
        launch(args);
    }
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Recursive Multiply App");
        Label promptLabel= new Label("Enter first positive integer: ");
        Label promptLabel2 = new Label("Enter second positive integer: ");
        firstInt= new TextArea();
        firstInt.setPrefColumnCount(4);
        firstInt.setPrefRowCount(2);
        secondInt= new TextArea();
        secondInt.setPrefColumnCount(4);
        secondInt.setPrefRowCount(2);
        Button calcButton = new Button("Ok");
        HBox hbox= new HBox(10, promptLabel, firstInt, promptLabel2, secondInt);
        VBox vbox= new VBox(10, hbox, resultLabel);
        Scene initial= new Scene(vbox);
        primaryStage.setScene(initial);
        primaryStage.show();
        calcButton.setOnAction(new EventHandler<ActionEvent>()
          {
             @Override
             public void handle(ActionEvent event)
             {
                    try {
                    int Gal = Integer.parseInt(firstInt.getText());
                    int Mil = Integer.parseInt(secondInt.getText());
                    if ((Gal <= 0) || (Mil <= 0))       
                        throw new NegativeDoubleException();
                    int result= myObj.recMul(Gal, Mil);
                    // Display the results.
                    resultLabel.setText(String.format(result+" is the product"));
                    }
                    catch(NumberFormatException | NegativeDoubleException e) {
                        JOptionPane.showMessageDialog(null,e.getMessage()); //what happens if you dont enter a number
                    } 

             }
          }); 
    }
}


导入javafx.application.application;
导入javafx.stage.stage;
导入javafx.scene.scene;
导入javafx.scene.layout.HBox;
导入javafx.scene.layout.VBox;
导入javafx.scene.control.Label;
导入javafx.scene.control.Button;
导入javafx.scene.control.TextArea;
导入javafx.event.EventHandler;
导入javafx.event.ActionEvent;
导入javax.swing.*;
公共类MultiplyApp扩展了应用程序{
私人文本区第一int;
私人文本区;
私有文本区结果标签;
RecursiveMultiply myObj=新的RecursiveMultiply();
公共静态void main(字符串[]args){
发射(args);
}
公共无效开始(阶段primaryStage){
setTitle(“递归乘法应用程序”);
Label promptLabel=新标签(“输入第一个正整数:”);
Label promptLabel2=新标签(“输入第二个正整数:”);
firstInt=newtextarea();
firstInt.setPrefColumnCount(4);
firstInt.setPrefRowCount(2);
secondInt=newtextarea();
secondInt.setPrefColumnCount(4);
secondInt.setPrefRowCount(2);
按钮calcButton=新按钮(“确定”);
HBox HBox=新的HBox(10,promptLabel,firstInt,promptLabel2,secondInt);
VBox VBox=新的VBox(10,hbox,结果标签);
场景初始=新场景(vbox);
初生阶段。设定新世(初始);
primaryStage.show();
setOnAction(新的EventHandler()
{
@凌驾
公共无效句柄(ActionEvent事件)
{
试一试{
int Gal=Integer.parseInt(firstInt.getText());
int Mil=Integer.parseInt(secondInt.getText());

如果((Gal堆栈跟踪的重要部分是由以下原因引起的:
:java.lang.NullPointerException:Children:child节点为null:parent=VBox@4b0d9981
。提示:查看
resltLabel
。堆栈跟踪的重要部分是由以下原因引起的
:java.lang.NullPointerException:Children:child节点为null:parent=VBox@4b0d9981
。提示:看一看t
resltLabel