- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 SceneBuilder 创建一个 GUI,以通过文本字段从用户获取信息。当我单击 calcPremiumButton 按钮时,我收到此 InvocableTargetException
和堆栈跟踪。
> Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470)
at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3766)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:352)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$355(GlassViewEventHandler.java:388)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:387)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$149(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771)
... 31 more
Caused by: java.lang.NullPointerException
at PremiumCalculator.calculatePremiumAction(PremiumCalculator.java:52)
... 41 more
我已将 NullPointerException
追溯到 setOnMouseClicked
方法。
import java.lang.*;
import java.util.*;
import java.awt.*;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.scene.input.MouseEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
/*** PremiumCalculator ***/
public class PremiumCalculator extends LifeInsurancePolicy
{
@FXML
private static TextField coverage;
@FXML
private static TextField number;
@FXML
private static TextField lName;
@FXML
private static TextField a;
@FXML
private static TextField fName;
@FXML
private static TextField s;
@FXML
private static TextField pName;
@FXML
private static Label outputLabel;
@FXML
private static Button calcPremiumButton;
@FXML
private static TextField w;
@FXML
private static TextField h;
@FXML
private void calculatePremiumAction()
{
/*** setOnMouseClicked ***/
PremiumCalculator.calcPremiumButton.setOnMouseClicked(new EventHandler<MouseEvent>()
{
/*** handle ***/
public void handle(MouseEvent mouseEvent)
{
/*** Get information from the GUI text boxes ***/
String number = PremiumCalculator.number.getText();
String pName = PremiumCalculator.pName.getText();
String fName = PremiumCalculator.fName.getText();
String lName = PremiumCalculator.lName.getText();
String a = PremiumCalculator.a.getText();
String s = PremiumCalculator.s.getText();
String h = PremiumCalculator.h.getText();
String w = PremiumCalculator.w.getText();
String coverage = PremiumCalculator.coverage.getText();
/*** Convert Strings ***/
int num = Integer.parseInt(number);
int ag = Integer.parseInt(a);
double he = Double.parseDouble(h);
double we = Double.parseDouble(w);
double c = Double.parseDouble(coverage);
double lifeInsurance = Double.parseDouble(lifeInsurancePolicyString);
/*** Instantiate a new LifeInsurancePolicy object ***/
LifeInsurancePolicy customer = new LifeInsurancePolicy(num, pName, fName, lName, ag, s, he, we);
/*** Call an instance of the LifeInsurancePolicy object to get the life insurance cost ***/
double lifeInsuranceAmount = customer.calculateLifeInsurance(s, bmi);
/*** Display the life insurance cost ***/
outputLabel.setText("Life Insurance Cost: " + lifeInsuranceAmount);
}
/*** End handle ***/
});
/*** End setOnMouseClicked ***/
}
}
/*** End PremiumCalculator ***/
我不确定是否由于 setOnMouseClicked
方法或其他原因导致出现异常。任何帮助将不胜感激!
最佳答案
SceneBuilder 允许某人编辑 FXML 文件。这些文件描述了一个 View 、一个界面,就像 HTML 文件对网页所做的那样。
问题是您试图在函数 private voidcalculatePremiumAction()
内的按钮上放置一个事件。但这个函数已经是一个事件函数(因为它上面有@FXML),你只需要将它与SceneBuilder中的按钮绑定(bind)即可。
Here应该如何做的示例。
关于java - JavaFX InvokingTargetException 和 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37123645/
XML 文件被用作临时缓存,以通过 SOAP 请求存储临时值(多个配置值)。多个线程将使用该文件,因此如果该文件已更新,我不想写入该文件。在第一次通过代码时,我希望缓存返回 null,之后文件将被更新
所以,我正在尝试启动我编写的 javafx 应用程序,但由于某种原因,很多事情都被破坏了。我正在尝试使用单例设计模式,但实际上我不认为这是问题所在。当我尝试获取 Display 类的实例时,代码中断。
我这里遇到了奇怪的情况.. 首先我从我的 bean 中获取这个方法: #{segurancaBean.callSubAcaoMethod(subAcao, moduloBean.class.name,
我正在创建一个简单的 JavaFX 应用程序,它抛出 InitationTargetException。 当我尝试加载 FXML 文件时,引发的异常与路径规范中的错误有关;因此,为了确保这确实是异常背
我正在使用反射 API 来调用类运行时并调用其方法。但我看到 java.lang.reflect.InitationTargetException 异常。 我需要调用一个名为 - TestClass
我只是想从我的 JavaFX 项目中的另一个类中划出一条线(作为一些家庭作业的开始)。但我遇到了这个 InitationTargetException 以及 NullPointerException
我有一个带有这样签名的私有(private)方法: private void compressFilesForSend(List files, File archiveFile) 我想通过反射在测试中
我正在使用 SceneBuilder 创建一个 GUI,以通过文本字段从用户获取信息。当我单击 calcPremiumButton 按钮时,我收到此 InvocableTargetException
我在运行 Yosemite 的 MacBook Pro 上运行 Tomcat8。我在 Eclipse Luna 中创建了一个 Web 服务,如果我没有在其他项目之一中引用某个类,该服务就可以工作。类名
我不确定这个错误是什么或者为什么会发生。我在网上找到的所有内容都与 TableViews 无关。但是,当我的 TableView 访问我的囚徒类中的这个方法时,它会抛出 InitationTarget
我编写了这个运行记事本的小java代码: import java.io.IOException; public class pad { public static void main(Stri
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我正在使用 IE 驱动程序和 java。我在 c# 中做得很好,但在尝试 java 时遇到了障碍。我在类级别使用单例模式实例化驱动程序,然后使用 @Test 开始 junit 测试。我将元素的查找与操
Here is the table of data 我已经使用 mySQL 中的数据库创建了一个简单的 hibernate/spring 和 CRUD。除了我的编辑功能之外,一切正常。它说这个错误。
我在 Java 7 中有一个 JApplet,每次我想在浏览器中启动它时,在从 调用 getParameter() 时都会收到一个 InvocableTargetException >JApplet。
我有一个本地托管的 Web 服务,我想从小程序调用它。我已经使用 wsimport 和服务 wsdl 创建了必要的服务处理代码。我已经测试了 java 客户端和 .Net 服务可以在我的 IDE 中正
我正在使用 CDI、JPA 2.1、hibernate 4.3.5.Final 和 tomee。当我尝试创建一个entityManagerFactory时;它运行到 org.
我是一名优秀的程序员,十分优秀!