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
。提示:看一看tresltLabel
。