ホームページの [スタート] ボタンをクリックすると、ホームページの中央にある SimulatorWindow.fxml ファイルが読み込まれます。
これは SimulatorWindow.fxml ファイルです。
ここで、指定された画像の赤いマークの領域に、別の fxml ファイル (Simulator.fxml という名前) をロードする必要があります。
ここに私の SimulatorWindowController.java ファイルがあります
package SortingAlgorithmSimulator.view;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import SortingAlgorithmSimulator.Main;
import javafx.application.Application;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.control.CheckBox;
import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class SimulatorWindowController extends Application
{
private HomeController hc=new HomeController();
@FXML
private TextArea AlgorithmField;
@FXML
private CheckBox screenSize;
@FXML
public static BorderPane simu;
@FXML
private void initialize() throws IOException
{ FXMLLoader loader1=new FXMLLoader();
loader1.setLocation(Main.class.getResource("view/Simulator.fxml"));
BorderPane mainItems1=loader1.load();
simu.setCenter(mainItems1);
BufferedReader buff = null;
try {
buff = new BufferedReader(new FileReader(hc.selectedFile));
String str;
while ((str = buff.readLine()) != null)
{
AlgorithmField.appendText(str+"\n");
}
} catch (IOException e)
{
} finally
{
try { buff.close(); } catch (Exception ex) { }
}
}
@FXML
private void goHome() throws IOException
{
Main.showHome();
}
@FXML
private void goHelp() throws IOException
{
Main.showHelp();
}
@FXML
private void goAboutMe() throws IOException
{
Main.showAboutMe();
}
@FXML
private void goScreen() throws IOException
{
if(screenSize.isSelected())
{
Main.primaryStage.setFullScreen(true);
screenSize.setText("Exit Full Screen");
}
else
{
Main.primaryStage.setFullScreen(false);
screenSize.setText("Full Screen");
}
}
@FXML
private void goExit() throws IOException
{
System.exit(0);
}
@Override
public void start(Stage arg0) throws Exception
{
// TODO Auto-generated method stub
}
}
しかし、このコードを実行すると、エラー NullPointerException が表示されます。
ここにエラーレポートがあります
スレッド「JavaFX アプリケーション スレッド」での例外 java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source) at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source) at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source) com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(不明なソース) com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(不明なソース) com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(不明なソース) com. sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent (不明なソース) com.sun.javafx.event.BasicEventDispatcher.dispatchEvent (不明なソース) com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent (不明なソース) com.sun で。javafx.event.BasicEventDispatcher.dispatchEvent(不明なソース) com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(不明なソース) com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(不明なソース) com.sun.javafx. event.EventDispatchChainImpl.dispatchEvent(不明なソース) com.sun.javafx.event.EventUtil.fireEventImpl(不明なソース) com.sun.javafx.event.EventUtil.fireEvent(不明なソース) で javafx.event.Event.fireEvent( javafx.scene.Node.fireEvent(不明なソース) で javafx.scene.control.Button.fire(不明なソース) で com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(不明なソース) でcom.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(不明なソース) com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(不明なソース) com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(不明なソース) com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(不明なソース) com.sun.javafx.event .EventHandlerManager.dispatchBubblingEvent (不明なソース) com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent (不明なソース) com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent (不明なソース) com.sun.javafx.event.BasicEventDispatcher で.dispatchEvent (不明なソース) com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent (不明なソース) com.sun.javafx.event.BasicEventDispatcher.dispatchEvent (不明なソース) com.sun.javafx.event.EventDispatchChainImpl.com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(不明なソース) の dispatchEvent(不明なソース) com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(不明なソース) com.sun.javafx.event.EventUtil.fireEventImpl( com.sun.javafx.event.EventUtil.fireEvent(不明なソース) javafx.event.Event.fireEvent(不明なソース) javafx.scene.Scene$MouseHandler.process(不明なソース) で javafx.scene. Scene$MouseHandler.access$1500 (不明なソース) で javafx.scene.Scene.impl_processMouseEvent (不明なソース) で javafx.scene.Scene$ScenePeerListener.mouseEvent (不明なソース) で com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification .run (不明なソース) com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification で。com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354 で java.security.AccessController.doPrivileged(ネイティブ メソッド) で (不明なソース) を実行します。com.sun.javafx.tk.quantum.QuantumToolkit で.runWithoutRenderLock (不明なソース) com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent (不明なソース) com.sun.glass.ui.View.handleMouseEvent (不明なソース) com.sun.glass.ui.View .notifyMouse (不明なソース) com.sun.glass.ui.win.WinApplication._runLoop (ネイティブ メソッド) com.sun.glass.ui.win.WinApplication.lambda$null$148 (不明なソース) at java.lang. Thread.run(不明なソース) 原因: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.Sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース) での NativeMethodAccessorImpl.invoke(不明なソース)。 Sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース) でのreflect.GeneratedMethodAccessor1.invoke(不明なソース)。 .. 49 以上 原因: javafx.fxml.LoadException: /D:/Document%20Files/Java%20Programming/bin/SortingAlgorithmSimulator/view/SimulatorWindow.fxmljava.lang.reflect.Method.invoke(不明なソース) で sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース) で sun.reflect.GeneratedMethodAccessor1.invoke(不明なソース) で sun.reflect.misc. MethodUtil.invoke(Unknown Source) ... 49 以上 原因: javafx.fxml.LoadException: /D:/Document%20Files/Java%20Programming/bin/SortingAlgorithmSimulator/view/SimulatorWindow.fxmljava.lang.reflect.Method.invoke(不明なソース) で sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース) で sun.reflect.GeneratedMethodAccessor1.invoke(不明なソース) で sun.reflect.misc. MethodUtil.invoke(Unknown Source) ... 49 以上 原因: javafx.fxml.LoadException: /D:/Document%20Files/Java%20Programming/bin/SortingAlgorithmSimulator/view/SimulatorWindow.fxml/Document%20Files/Java%20Programming/bin/SortingAlgorithmSimulator/view/SimulatorWindow.fxml/Document%20Files/Java%20Programming/bin/SortingAlgorithmSimulator/view/SimulatorWindow.fxml
javafx.fxml.FXMLLoader.constructLoadException(不明なソース)でjavafx.fxml.FXMLLoader.loadImpl(不明なソース)でjavafx.fxml.FXMLLoader.loadImpl(不明なソース)でjavafx.fxml.FXMLLoader.load(不明なソース)でSortingAlgorithmSimulator .Main.showSimulatorWindow(Main.java:87) at SortingAlgorithmSimulator.view.HomeController.goSimulatorWindow(HomeController.java:64) ... 58 さらに 原因: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0( Native Method) (sun.reflect.NativeMethodAccessorImpl.invoke (不明なソース)、sun.reflect.DelegatingMethodAccessorImpl.invoke (不明なソース)、java.lang.reflect.Method.invoke (不明なソース)、sun.reflect.misc.Trampoline)。 sun.reflect.GeneratedMethodAccessor1 での呼び出し (不明なソース)。invoke(不明なソース) at sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース) at java.lang.reflect.Method.invoke(不明なソース) at sun.reflect.misc.MethodUtil.invoke(不明なソース) ... 63 詳細原因: SortingAlgorithmSimulator.view.SimulatorWindowController.initialize(SimulatorWindowController.java:35) での java.lang.NullPointerException ... 72 詳細
どうすれば修正できますか?
ソースコードのダウンロードリンクはこちら
https://drive.google.com/folderview?id=0B7pxly3GctSNQ1FaajY4LTFOQnM&usp=sharing