前提・実現したいこと
教材を用いて、JavaFXのプログラミングを行なっているのですが、
サンプルプログラムを書き、実行しようとしても例外エラーが発生してしまいます。
使用している環境がEclipse IDEで教材の推奨がEclipse Mars 4.5なので、それが原因かとも思うのですが、、なんとか現在の環境で動かせないかと色々調査しているところなのですが、、
自分自身プログラミング初心者ということもあり、調査してみても一向にエラーが改善されません。
エラー文とプログラムを見ていただき、解決のヒントだけでも教えていただけないでしょうか。。
お手数をおかけして大変申し訳ありません、よろしくお願いします。
発生している問題・エラーメッセージ
Exception in Application start method 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 com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389) at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328) 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.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:917) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$159(LauncherImpl.java:182) at java.lang.Thread.run(Thread.java:748) Caused by: javafx.fxml.LoadException: at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2504) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104) at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097) at jp.tuyano.eclipsebook.SampleApp.start(SampleApp.java:17) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$166(LauncherImpl.java:863) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$179(PlatformImpl.java:326) at com.sun.javafx.application.PlatformImpl.lambda$null$177(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$178(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,21] Message: 疑似属性名が必要です。 at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.setInputSource(XMLStreamReaderImpl.java:214) at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.<init>(XMLStreamReaderImpl.java:184) at com.sun.xml.internal.stream.XMLInputFactoryImpl.getXMLStreamReaderImpl(XMLInputFactoryImpl.java:262) at com.sun.xml.internal.stream.XMLInputFactoryImpl.createXMLStreamReader(XMLInputFactoryImpl.java:134) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2478) ... 14 more Exception running application jp.tuyano.eclipsebook.SampleApp
該当のソースコード
SanpleApp.java
1package jp.tuyano.eclipsebook; 2 3import javafx.application.Application; 4import javafx.fxml.FXMLLoader; 5import javafx.scene.control.Label; 6import javafx.scene.control.Button; 7import javafx.scene.control.TextField; 8import javafx.scene.layout.BorderPane; 9import javafx.scene.Parent; 10import javafx.scene.Scene; 11import javafx.stage.Stage; 12 13public class SampleApp extends Application { 14 15 @Override 16 public void start(Stage stage) throws Exception { 17 Parent root = FXMLLoader.load(getClass().getResource("window.fxml")); 18 // ウィンドウに組み込む内容(pane、幅、高さ) 19 Scene scene = new Scene(root, 300, 150); 20 // 設定したSceneをstageに組み込む 21 stage.setScene(scene); 22 // ウィンドウを開く 23 stage.show(); 24 } 25 26 public static void main(String[] args) { 27 // TODO 自動生成されたメソッド・スタブ 28 // Applicationのインスタンスを作成し 29 // それをアプリケーションとして実行 30 launch(args); 31 } 32} 33
window.fxml
1<?xml version="1.0" encording="UTF-8"?> 2<?import javafx.scene.control.*?> 3<?import javafx.scene.layout.*?> 4 5<BorderPane prefHeight="150.0" preWidth="300.0" 6 xmlns="http://javafx.com/javafx/8" 7 xmlns:fx="http://javafx.com/fxml/1"> 8 <top> 9 <Label text="this is FXML sample!" BorderPane.alignment="CENTER" /> 10 </top> 11 <center> 12 <TextField BorderPane.alignment="CENTER" /> 13 </center> 14 <bottom> 15 <Button text="Click" BorderPane.alignment="CENTER" /> 16 </bottom> 17</BorderPane>
試したこと
e(fx)clipse IDEのインストール、設定
設定からコンパイラー準拠レベルの変更(11→1.8)
プロジェクト、クラスの再作成
補足情報(FW/ツールのバージョンなど)
使用したJRE JavaSE-1.8
教材内で使用されているJRE jdk 1.8.0_45
使用環境 Eclipse IDE
教材推奨環境 Eclipse Mars 4.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/21 07:25