- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个程序来登录或注册一个人。但我不断收到相同的异常。(InitationTargetException)
Exception in Application start method
file:/C:/Users/Eigenaar/Desktop/p1g04/dist/SokobanGroep4.jar!/gui/StartScherm.fxml:19
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:483)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
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:483)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147(LauncherImpl.java:157)
at com.sun.javafx.application.LauncherImpl$$Lambda$48/1099983479.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at gui.StartSchermController.<init>(StartSchermController.java:73)
at StartUp.start(StartUp.java:27)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153(LauncherImpl.java:821)
at com.sun.javafx.application.LauncherImpl$$Lambda$51/2006606717.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(PlatformImpl.java:323)
at com.sun.javafx.application.PlatformImpl$$Lambda$45/128893786.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$164(PlatformImpl.java:292)
at com.sun.javafx.application.PlatformImpl$$Lambda$47/2063964656.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(PlatformImpl.java:291)
at com.sun.javafx.application.PlatformImpl$$Lambda$46/1108411398.run(Unknown Source)
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$141(WinApplication.java:102)
at com.sun.glass.ui.win.WinApplication$$Lambda$37/1147985808.run(Unknown Source)
... 1 more
Exception running application StartUp
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)
这是我的 StartSchemController 中的代码(来 self 的 fxml 文件的 Controller )
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gui;
import domein.DomeinController;
import java.io.IOException;
import java.util.ArrayList;
import javafx.collections.FXCollections;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.SplitPane;
import javafx.scene.control.TextField;
/**
* FXML Controller class
*
* @author Eigenaar
*/
public class StartSchermController extends SplitPane {
@FXML
private ChoiceBox chbTaal;
@FXML
private TextField txfMeldID;
@FXML
private TextField txfMeldWw;
@FXML
private TextField txfRegNaam;
@FXML
private TextField txfRegVNaam;
@FXML
private TextField txfRegWw2;
@FXML
private TextField txfRegWw;
@FXML
private TextField txfRegID;
@FXML
private Label lblMeldAan;
@FXML
private Label lblRegistreer;
@FXML
private Label lblMeldId;
@FXML
private Label lblMeldWw;
@FXML
private Label lblRegNaam,lblRegVNaam,lblRegId,lblRegWw,lblRegWw2;
private final DomeinController dc;
/**
* Initializes the controller class.
*/
public StartSchermController(DomeinController dc) {
this.dc=dc;
FXMLLoader loader=new FXMLLoader(getClass().getResource("StartScherm.fxml"));
loader.setRoot(this);
loader.setController(this);
try {
loader.load();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
try{
chbTaal.setItems(FXCollections.observableArrayList(dc.keuzeTaal()));
} catch(NullPointerException e){
System.out.println(e.getMessage());
}
}
public int geefKeuze(){
int s = chbTaal.getSelectionModel().getSelectedIndex();
return s;
}
@FXML
private void actionchbTaal(ActionEvent event) {
int keuzeTaal = chbTaal.getSelectionModel().getSelectedIndex();
update(dc.setTaal(keuzeTaal));
this.geefKeuze();
}
private void update(ArrayList<String> s) {
lblMeldAan.setText(s.get(0));
this.lblMeldId.setText(s.get(1));
this.lblMeldWw.setText(s.get(2));
this.lblRegistreer.setText(s.get(3));
this.lblRegNaam.setText(s.get(4));
this.lblRegVNaam.setText(s.get(5));
this.lblRegId.setText(s.get(6));
this.lblRegWw.setText(s.get(7));
this.lblRegWw2.setText(s.get(8));
}
}
这是 JavaFX Scene Builder 2.0 生成的 fxml 文件中的代码
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<fx:root dividerPositions="0.19095477386934673" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" orientation="VERTICAL" prefHeight="400.0" prefWidth="600.0" type="SplitPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="148.0" prefWidth="598.0">
<children>
<Label layoutX="384.0" layoutY="21.0" text="SOKOBAN" textFill="#d7300f">
<font>
<Font name="Colonna MT" size="24.0" />
</font>
</Label>
<ComboBox fx:id="chbTaal" layoutX="37.0" layoutY="24.0" onAction="#actionchbTaal" prefWidth="150.0" />
</children></AnchorPane>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0">
<children>
<SplitPane dividerPositions="0.481421647819063" layoutY="-6.0" prefHeight="331.0" prefWidth="621.0">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
<children>
<Label fx:id="lblMeldAan" layoutX="12.0" layoutY="1.0" prefHeight="27.0" prefWidth="106.0">
<font>
<Font size="18.0" />
</font>
</Label>
<Label fx:id="lblMeldId" layoutX="14.0" layoutY="42.0" prefHeight="17.0" prefWidth="74.0" />
<TextField fx:id="txfMeldID" layoutX="97.0" layoutY="38.0" />
<Label fx:id="lblMeldWw" layoutX="14.0" layoutY="83.0" prefHeight="17.0" prefWidth="74.0" />
<TextField fx:id="txfMeldWw" layoutX="97.0" layoutY="79.0" />
<TextField layoutX="30.0" layoutY="165.0" prefHeight="116.0" prefWidth="244.0" />
</children>
</AnchorPane>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
<children>
<Label fx:id="lblRegistreer" layoutX="14.0" layoutY="1.0" prefHeight="27.0" prefWidth="106.0">
<font>
<Font size="18.0" />
</font>
</Label>
<Label fx:id="lblRegNaam" layoutX="82.0" layoutY="41.0" text="Naam:" />
<Label fx:id="lblRegWw" layoutX="51.0" layoutY="148.0" text="Wachtwoord:" />
<Label fx:id="lblRegId" layoutX="51.0" layoutY="112.0" text="GebruikersID:" />
<Label fx:id="lblRegVNaam" layoutX="58.0" layoutY="76.0" text="Voornaam:" />
<Label fx:id="lblRegWw2" layoutX="8.0" layoutY="185.0" text="Controle Wachtwoord:" />
<TextField fx:id="txfRegNaam" layoutX="128.0" layoutY="37.0" />
<TextField fx:id="txfRegVNaam" layoutX="128.0" layoutY="72.0" />
<TextField fx:id="txfRegWw2" layoutX="128.0" layoutY="181.0" />
<TextField fx:id="txfRegWw" layoutX="128.0" layoutY="144.0" />
<TextField fx:id="txfRegID" layoutX="128.0" layoutY="108.0" />
</children>
</AnchorPane>
</items>
</SplitPane>
</children></AnchorPane>
</items>
</fx:root>
这是我的 domeinController 中的代码,其中设置语言集的代码。(语言的选择是通过资源包完成的)
import java.util.ArrayList;
import java.util.Locale;
import java.util.ResourceBundle;
public class DomeinController {
public ArrayList<String> keuzeTaal(){
ArrayList<String> taal = new ArrayList<>();
taal.add("Nederlands");
taal.add("Français");
taal.add("English");
return taal;
}
public ArrayList<String> setTaal(int i){
ResourceBundle taal=Taal(i);
ArrayList<String> s= new ArrayList<>();
s.add(taal.getString("meldAan"));
s.add(taal.getString("gebruikersID"));
s.add(taal.getString("wachtwoord"));
s.add(taal.getString("registreer"));
s.add(taal.getString("naam"));
s.add(taal.getString("voornaam"));
s.add(taal.getString("gebruikersID"));
s.add(taal.getString("wachtwoord"));
s.add(taal.getString("herhalingWachtwoord"));
return s;
}
public static ResourceBundle Taal(int taalKeuze) {
Locale locale;
ResourceBundle taal;
if (taalKeuze==1) {
locale = Locale.FRENCH;
} else if (taalKeuze==2) {
locale = Locale.ENGLISH;
} else {
locale = new Locale("nl");
}
return ResourceBundle.getBundle("taal\\LabelsBundle", locale);
}
;
}
提前谢谢您。我希望有人能帮助我。 (抱歉我的英语不好)
最佳答案
您的 Controller 将 chTaal
声明为 ChoiceBox
,但您的 FXML 将其声明为 ComboBox
。 FXMLLoader
无法强制在这些类型之间进行转换,因此它不会将 chTaal
设置为任何内容,并将其保留为 null。使两个文件中的类型匹配,看看是否可以解决您的问题。
关于JavaFX java.lang.reflect.InitationTargetException(使用场景构建器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29171765/
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 7 年前。 我是 JavaFX 和编程新手,
我有一个小程序,里面有一些按钮,这些按钮有图像图标。我还用这个小程序制作了一个 HTML 文件。每当我从服务器(Apache tomcat)打开此页面时,都会发生异常: java.lang.refle
我正在一个小程序中工作,当我使用 Eclipse 运行它时,我没有任何问题,但是当我尝试在 Internet Explorer 浏览器上加载该小程序时,它给出了以下错误: java.lang.refl
我在现场运行 Java Applet 时遇到问题。 Applet 本身可以从 jar 文件本地正常运行,并且编译时没有错误或警告。我什至成功地签署了它,但是当我尝试从网站运行它时,我总是得到 java
我遇到了一些奇怪的行为。我正在尝试编写一个简单的 GUI 来帮助我与大学项目交互,因此我没有使用 fxml。到目前为止,JavaFX 一切正常 - 我可以创建场景、 Canvas 等。但是当我尝试创建
我收到错误java.lang.reflect.InitationTargetException每当我使用循环时,如果我只是创建一个矩形并将其分配给一个数组,它就可以工作,但是如果我尝试在循环中分配它,
NativeMethodAccessorImpl invoke method声明它可以抛出 IllegalArgumentException 或 InitationTargetException pu
我正在开发一个机器人迷宫,机器人可以在不撞墙的情况下找到目标。作为一种“原路返回”方法,我需要机器人沿着与第一次遇到交叉路口时相反的方向行驶。这是我的代码: import uk.ac.warwick.
我正在尝试在映射中获取以下实体的属性: @Entity @Table(name = "ps_parameter") @NamedQueries({Named Queries Here..}) publ
我的网络应用程序在 Eclipse 和 Netbeas 中工作正常,但是当我在包含依赖项后尝试在 Maven 中执行时,它会抛出异常。依赖项是。 org.apache.cxf
我正在尝试从 yDoc 库生成 uml 图。它基本上使用 Javadoc 来解析 Java 源文件。但是,当我尝试从终端(OS X)执行命令时,出现以下错误: javadoc: error - In
我在尝试使用 cellData -> cellData.getValue() 从对象添加属性时遇到了这个问题,该属性是 StringProperty 并且我有一个返回它的方法,并且我正在使用它cell
当我在应用程序上运行方法时,出现以下异常,但缺少“JarSignerResources”的类位于我的类路径中(tools.jar 的一部分)。我以前从未见过这样的异常,它只发生在Linux(而不是OS
我正在尝试制作一个简单的计算程序,但每当我尝试运行代码时,我都会收到此错误。我怎样才能避免这种情况? TextField inputOne = new TextField("Input first d
我对 javafx 完全陌生!我尝试了一个非常非常简单的代码,但我被卡住了。当我尝试向布局添加按钮时它不起作用。我知道这个问题可能太简单了,但我真的不知道如何解决。如果您能帮助我,我将不胜感激。这是我
我写了一个非常基本的小程序,因为我才刚刚开始学习。这个特定的小程序应该只显示一些文本,但是每当我在本地运行它(我已将 java 配置为中等安全性)或从服务器运行时,我都会收到以下错误,但没有详细信息:
我正在尝试制作一个程序来登录或注册一个人。但我不断收到相同的异常。(InitationTargetException) Exception in Application start method fi
我对 javafx 完全陌生!我尝试了一个非常非常简单的代码,但我被卡住了。当我尝试向布局添加按钮时它不起作用。我知道这个问题可能太简单了,但我真的不知道如何解决。如果您能帮助我,我将不胜感激。这是我
这个问题已经有答案了: IntelliJ can't recognize JavaFX 11 with OpenJDK 11 (7 个回答) 已关闭 3 年前。 我一直在尝试从事 Simon Says
if(locs!=null) { System.out.println("location are not null"); Iterator ite = locs.iterator()
我是一名优秀的程序员,十分优秀!