- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
我是 java 和 mvc 的新手,正在尝试做一个业务逻辑和前端分离的例子这个小应用程序执行以下操作:我们有一个文本字段和标签。如果您在 textField 上写了一些东西,那么您将成为标签上的文本……它会计算哪个字母出现次数最多。
我正在尝试运行该应用程序,但我在线程“JavaFX Application Thread”java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 中成为异常
跟踪:
"C:\Program Files\Java\jdk1.8.0_181\bin\java.exe" "-javaagent:C:\Users\khale\AppData\Local\JetBrains\IntelliJ IDEA 2019.1.2\lib\idea_rt.jar=62820:C:\Users\khale\AppData\Local\JetBrains\IntelliJ IDEA 2019.1.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_181\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\rt.jar;C:\Users\khale\OneDrive\Dokumente\NetBeansProjects\ShowCharWithHighestOccurrence\target\classes" com.mycompany.showcharwithhighestoccurrence.MainApp
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$KeyHandler.process(Scene.java:3964)
at javafx.scene.Scene$KeyHandler.access$1800(Scene.java:3910)
at javafx.scene.Scene.impl_processKeyEvent(Scene.java:2040)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2501)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:217)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:149)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$352(GlassViewEventHandler.java:248)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:247)
at com.sun.glass.ui.View.handleKeyEvent(View.java:546)
at com.sun.glass.ui.View.notifyKey(View.java:966)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)
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:498)
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:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
... 29 more
Caused by: java.lang.NullPointerException
at com.mycompany.showcharwithhighestoccurrence.javafxFrontend.FXMLController.showCharWithHighestOccurence(FXMLController.java:34)
... 39 more
场景.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="AnchorPane" prefHeight="200.0" prefWidth="320.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="com.mycompany.showcharwithhighestoccurrence.javafxFrontend.FXMLController">
<children>
<TextField fx:id="textField" layoutX="14.0" layoutY="90.0" onKeyReleased="#showCharWithHighestOccurence" prefWidth="209.0" />
<Label fx:id="outputLabel" layoutX="14.0" layoutY="112.0" prefHeight="32.0" prefWidth="293.0" text="" />
</children>
</AnchorPane>
主程序.java
package com.mycompany.showcharwithhighestoccurrence;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class MainApp extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("/fxml/Scene.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/Styles.css");
scene.onKeyTypedProperty();
stage.setTitle("JavaFX and Maven");
stage.setScene(scene);
stage.show();
}
/**
* The main() method is ignored in correctly deployed JavaFX application.
* main() serves only as fallback in case the application can not be
* launched through deployment artifacts, e.g., in IDEs with limited FX
* support. NetBeans ignores main().
*
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
FXMLController.java( Controller )
package com.mycompany.showcharwithhighestoccurrence.javafxFrontend;
import java.net.URL;
import java.util.*;
import com.mycompany.showcharwithhighestoccurrence.javafxBusinessLogic.BusinessLogic;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyEvent;
public class FXMLController implements Initializable {
@FXML
private TextField textField;
@FXML
private Label outputLabel;
private BusinessLogic businessLogic;
@FXML
private void showCharWithHighestOccurence(KeyEvent event) {
String input, output = "";
businessLogic.hello();
if (textField.getText() != null) {
input = textField.getText();
if (businessLogic.giveFinalResult(input) != null) {
output = businessLogic.giveFinalResult(input);
if (output != null) {
outputLabel.setText(output);
}
}
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
业务逻辑.java
package com.mycompany.showcharwithhighestoccurrence.javafxBusinessLogic;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class BusinessLogic {
public void hello(){
System.out.println("helllllo");
}
public String giveFinalResult(String text) {
String input = " ";
String output = " ";
if (text != null) {
input = text.toLowerCase().replaceAll("\\s+", "");
int[] freq = new int[input.length()];
int i, j, max, lastFreq;
lastFreq = 0;
//Converts given string into character array
char inputChars[] = input.toCharArray();
List<Character> maxChars = new ArrayList<>();
//Count each word in given string and store in array freq
for (i = 0; i < inputChars.length; i++) {
freq[i] = 1;
for (j = i + 1; j < inputChars.length; j++) {
if (inputChars[i] == inputChars[j] && inputChars[i] != ' ' && inputChars[i] != '0') {
freq[i]++;
//Set string[j] to 0 to avoid printing visited character
inputChars[j] = '0';
}
}
}
//Determine maximum occurring characters
if (freq.length > 0) {
lastFreq = freq[0];
}
for (i = 0; i < freq.length; i++) {
max = freq[0];
if (freq[i] == lastFreq) {
max = lastFreq;
}
if (max == lastFreq && max < freq[i]) {
lastFreq = freq[i];
maxChars.add(inputChars[i]);
for (Character c : maxChars) {
if (c != null) {
output = "The most frequent letter is " + c + " with: " + freq[i] + "occurences";
}
}
}
if (lastFreq < freq[i]) {
maxChars.clear();
maxChars.add(inputChars[i]);
for (Character c : maxChars) {
if (c != null) {
output = "The most frequent letter is " + c + " with: " + freq[i] + "occurences";
}
}
}
if (max > 1 && max == freq[i]) {
maxChars.add(inputChars[i]);
Iterator iterator = maxChars.iterator();
while (iterator.hasNext()) {
output = "The most frequent letter are " + maxChars.get(0).toString() + ", "
+ iterator.next().toString() + " with: " + freq[i] + "occurences";
}
}
}
return output;
}
}
我遇到的问题是:我有一系列通过注释收集的类。它们都位于同一个文件夹中,如果它们具有特定的注释,它们将通过 Reflections library 实例化。 。当这些类被实例化时,有一个静态初始化程序调
我一直试图了解问题到底是什么,但无论我做什么似乎都不起作用。我有一个文本文件,其中列出了名称和数字,并用冒号分隔。一个例子是: Betty Ross:52 Angie Scotts:29 Michae
我这里有一个小问题,希望有人能帮助我。 我想做一个从对象到整数的映射。该对象被标记为 Fetchtype.Lazy。 当我进行映射时,我收到以下错误消息: 11:31:46,569 ERROR Map
JUnitTest/Mockito/PowerMockito:: 尝试从 android 中的 res/raw 文件访问数据集 json 文件,但出现“InvocationTargetExceptio
我正在开发一个项目,该项目将包含许多具有相似但不同功能的 JavaFX 应用程序,因此我创建了一个抽象基类,它扩展了 Application 以处理通用功能并指示它们需要做什么,以及一个一堆扩展那个的
我有一个复杂的结构要显示在屏幕上。使用 XML 布局制作。对于垂直方向和纵向布局是不同的。 如果您翻转屏幕布局,则会重新绘制并初始化 GUI。在水平布局上,我使用 CustomRelativeLayo
我正在尝试基于 Zentask 示例创建一个简单的登录,但是在第 43 行的 smgts2\app\controllers\Application.java 中出现运行时异常。 public stat
我正在尝试将我的所有 java 应用程序升级到 openJDK11(来自 Oracle 8)。 我注意到我的报告服务器中使用 Pentaho 的一个问题。 看来 Excel 自动调整大小功能需要 op
我正在尝试将 hive 与蜂路线或色相连接,因此我遇到了错误 2015-01-01 11:56:18,312 ERROR sentry.org.apache.thrift.transport.TSas
我在页面中使用框架从服务器获取一些数据。 加载页面后,我注意到有两个调用传递给服务器: 一个在src框架中定义的NB_tans操作中的一个,另一个在页面中任何位置定义的tans操作中的另一个。 HTM
我无法在Kotlin-test 3.4.2中使用Koin 2.0.1。我得到这样的InvocationTargetException: Running koinexample.KoinSampleTe
我正在尝试添加 Hibernate 5 作为后端的 ORM 以连接 MySQL 数据库。我阅读了许多示例和教程,但总是收到 InvocationTargetException。 下面是相关代码。希望有
我正在尝试为 Android 设备上的 UI 性能测试设置 FPSMeter 应用程序。 They say我需要安装应用程序的移动和桌面部分。移动部分没有问题,但桌面部分的 .jar 文件无法启动。我
ActivityManager am = (ActivityManager)this.getSystemService(this.ACTIVITY_SERVICE); try { clear
我目前在 Android 开发者控制台上收到一些未知的崩溃报告。他们很不善于表达。它是一个 InvocationTargetException,但我不知道它来自哪里。也许我正在使用的某些框架正在使用反
我正在写一个状态检查器,它是一个 java web-start 小程序。我可以在我的电脑上运行它,但是它运行得很好;当我在网页上运行它时,出现运行时错误 java.lang.reflect.Invoc
我在OPPO X905和OPPO X907上遇到过问题,都是Android 4.0.3(API Level 15),我没有用过更高级别的API,我在Google和SO上搜索过,都是不一样的根据我的问题
如何重新抛出 InvocationTargetException 的目标异常。我有一个方法,它使用反射在我的一个类中调用 invoke() 方法。但是,如果在我的代码中抛出异常,我不关心 Invoca
根据 javadocs , InvocationTargetException.getCause() 可以为空: Returns the cause of this exception (the th
我有一个使用 AsyncTask 的简单 Activity EditText txt; @Override public void onCreate(Bundle savedInstanceState
我是一名优秀的程序员,十分优秀!