Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX抛出错误“;JavaFX应用程序线程;_Java_Javafx - Fatal编程技术网

JavaFX抛出错误“;JavaFX应用程序线程;

JavaFX抛出错误“;JavaFX应用程序线程;,java,javafx,Java,Javafx,这就是我的问题- 我需要换个环境。 主文件中的舞台和根场景: 包装样品; 公共类主扩展应用程序{ @凌驾 public void start(Stage)引发异常{ 父根=FXMLLoader.load(Objects.requireNonNull( getClass().getResource(“scenes/sample.fxml”); stage.setTitle(“BlogApp”); 舞台场景(新场景(根,600400)); stage.show(); } 公共静态void main(

这就是我的问题-

我需要换个环境。 主文件中的舞台和根场景:

包装样品;
公共类主扩展应用程序{
@凌驾
public void start(Stage)引发异常{
父根=FXMLLoader.load(Objects.requireNonNull(
getClass().getResource(“scenes/sample.fxml”);
stage.setTitle(“BlogApp”);
舞台场景(新场景(根,600400));
stage.show();
}
公共静态void main(字符串[]args){
发射(args);
}
}
我有相同的控制器,带有登录按钮。 仅当(用户已找到)且场景必须更改为主场景时才会登录:

按钮\u身份验证设置操作(事件->{
登录验证设置样式(“-fx边框颜色:#fafafa”);
通过验证设置样式(“-fx边框颜色:#fafafa”);
按钮设置文本(“注册”);
if(login_auth.getCharacters().length()<3){
登录注册设置样式(“-fx边框颜色:红色”);
返回;
}else if(传递\u auth.getCharacters().length()<3){
通过验证设置样式(“-fx边框颜色:红色”);
返回;
}
String pass=md5String(pass_auth.getCharacters().toString());
试一试{
布尔值isAuth=db.authUser(login\u auth.getCharacters().toString(),pass);
if(isAuth){
login_auth.setText(“”);
通过授权设置文本(“”);
按钮_auth.setText(“登录”);
父根=FXMLLoader.load(Objects.requireNonNull(
getClass().getResource(“scenes/secondScene.fxml”);
场景主页\场景=新场景(根);
阶段窗口=(阶段)((节点)事件.getSource()).getScene().getWindow();
window.setScene(主页和场景);
window.show();
}否则{
按钮_auth.setText(“登录被拒绝”);
}
}catch(SQLException | ClassNotFoundException | IOException e){
e、 printStackTrace();
}
});
这给了我一个错误:

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:221)
at sample.controllers.regController.lambda$initialize$1(regController.java:114)
at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics/javafx.scene.Node.fireEvent(Node.java:8889)
at javafx.controls/javafx.scene.control.Button.fire(Button.java:203)
at javafx.controls/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:208)
at javafx.controls/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Scene.java:3856)
at javafx.graphics/javafx.scene.Scene.processMouseEvent(Scene.java:1851)
at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2584)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:409)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:299)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:447)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:412)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:446)
at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:556)
at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:942)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:834)
错误行114为空

 Parent root = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("scenses/secondScene.fxml")));
我是Java新手,所以我不明白为什么会发生这种情况。
谢谢你的帮助。

事实上,我不太明白你想做什么。但是您给getResource路径的设置错误。这就是为什么你不能得到你想要的,你得到了一个NullPointerExceptan。你能按如下方式更新它吗?如果它起作用,你能写评论吗

Parent root = FXMLLoader.load(Objects.requireNonNull(
                getClass().getResource("sample.fxml")));

我找到了。问题在于路径。在主文件中,我有如下路径:

Parent root = FXMLLoader.load(Objects.requireNonNull(
            getClass().getResource("scenses/sample.fxml")));
我在控制器文件中尝试了同样的方法。但这是错误的

所以控制器现在使用该路径:

Parent root = FXMLLoader.load(Objects.requireNonNull(
                getClass().getResource("sample/scenses/secondScene.fxml")));
这条路通向根


解决了。Thx向所有人寻求帮助。

它在Object.requirennoull处失败,这意味着它可能找不到资源->您确定资源名称中没有输入错误吗?“scenes”听起来不对..在第114行的类regController中的lambda表达式中有一个NullPointerException。具体是什么?第114行有“Parent root=fxmloader.load(Objects.requirennull(getClass().getResource(“scenes/secondScene.fxml”));”请遵守java命名约定,不,这也不起作用。所以程序启动,但登录后抛出错误我想通过单击登录按钮上的事件更改场景,这必须通过检查用户是否正确来实现。您能从登录后出现的错误中显示出来吗?我在我的帖子中显示了它。这是错误的-路径中的句点不受支持(即使它可能在IDE中工作,但在其他环境中也会失败,例如在jar中)请确保阅读副本以找到正确的资源路径。我知道,但我仍然找到了解决方案,我将尝试修复该问题,直到明天:)。问题出在路径上……那个么,只需使用完整路径而不是相对路径。不管怎样,这就是我所做的。正如@kleopatra所指出的,您的“解决方案”很容易出错。