質問編集履歴

6

jdk-14.0.2\libフォルダを元に戻し、ビルドパスの設定をしました。

2020/08/22 14:08

投稿

Okam0chan
Okam0chan

スコア11

test CHANGED
File without changes
test CHANGED
File without changes

5

jdk-14.0.2\libフォルダを元に戻し、ビルドパスの設定をしました。

2020/08/22 14:08

投稿

Okam0chan
Okam0chan

スコア11

test CHANGED
File without changes
test CHANGED
@@ -118,7 +118,7 @@
118
118
 
119
119
  ■8/22追記
120
120
 
121
- ※ソースコードやプロジェクトの構成を、該当のソースコードのように変更しました。
121
+ ※ソースコードやプロジェクトの構成を、該当のソースコードのように変更しました。
122
122
 
123
123
 
124
124
 

4

jdk-14.0.2\libフォルダを元に戻し、ビルドパスの設定をしました。

2020/08/22 14:00

投稿

Okam0chan
Okam0chan

スコア11

test CHANGED
@@ -1 +1 @@
1
- Java14でJavaFXを動かしたい
1
+ Eclipse上でJavaFXを動かしたい
test CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- Eclipse上で、JavaFXを使ったGUIを作成したいと思っています。
5
+ Eclipse上で、JavaFXを使ったGUIを作成したいす。
6
6
 
7
- 最終的にはSceneBuilderで作成したfxmlファイルを読み込みたいのですが、まずはJavaFXだけでも利用可能にしたいです。
7
+ JavaFXの使い方が間違っているのか実行時エラーが発生す。
8
8
 
9
9
 
10
10
 
@@ -16,17 +16,11 @@
16
16
 
17
17
  ```
18
18
 
19
- 【エディターのエラーメッセージ】
20
-
21
- インポートされたjavafxは見つかりません
22
-
23
-
24
-
25
19
  【コンソール】
26
20
 
27
- エラー: メイン・クラスapplication.Mainを初期化できません
21
+ エラー: メイン・クラスapplication.Mainを検出およびロードできませんでした
28
22
 
29
- 原因: java.lang.NoClassDefFoundError: Stage
23
+ 原因: java.lang.ClassNotFoundException: application.Main
30
24
 
31
25
  ```
32
26
 
@@ -38,61 +32,59 @@
38
32
 
39
33
  【Main.java】
40
34
 
41
- import javafx.application.*;
35
+ package application;
42
36
 
43
- import javafx.fxml.*;
37
+ import javafx.application.Application;
44
38
 
45
- import javafx.stage.*;
39
+ import javafx.stage.Stage;
46
40
 
47
- import javafx.scene.*;
41
+ import javafx.scene.Scene;
48
42
 
49
-
43
+ import javafx.scene.layout.BorderPane;
44
+
45
+ import javafx.fxml.FXMLLoader;
46
+
47
+
50
48
 
51
49
  public class Main extends Application {
52
50
 
53
- @Override
51
+ @Override
54
52
 
55
- public void start(Stage stage) throws Exception {
53
+ public void start(@SuppressWarnings("exports") Stage primaryStage) {
56
54
 
57
- Parent root = FXMLLoader.load(getClass().getResource("Dentaku.fxml")); // FXMLの内容を代入
55
+ try {
58
56
 
59
- Scene scene = new Scene(root); // Sceneのインスタンス化
57
+ BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource("JavaFX.fxml"));
60
58
 
61
- stage.setScene(scene); // SceneをStageにセットする
59
+ Scene scene = new Scene(root,400,400);
62
60
 
63
- stage.show(); // ウィンドウを表示する
61
+ scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
64
62
 
63
+ primaryStage.setScene(scene);
64
+
65
+ primaryStage.show();
66
+
67
+ } catch(Exception e) {
68
+
69
+ e.printStackTrace();
70
+
65
- }
71
+ }
72
+
73
+ }
74
+
75
+ public static void main(String[] args) {
76
+
77
+ launch(args);
78
+
79
+ }
66
80
 
67
81
  }
68
82
 
69
-
70
-
71
- 【ファイル構成】
72
-
73
- Dentaku
74
-
75
- >src
76
-
77
- >application
78
-
79
- DentakuController.java
80
-
81
- Main.java
82
-
83
- application.css
84
-
85
- Dentaku.fxml
86
-
87
- module-info.java
88
-
89
- JREシステム・ライブラリー
90
-
91
- build.fxbuild
92
-
93
83
  ```
94
84
 
85
+ 【プロジェクトの構成】
95
86
 
87
+ ![イメージ説明](60ae356f433d764a787c571198d28401.jpeg)
96
88
 
97
89
 
98
90
 
@@ -108,21 +100,39 @@
108
100
 
109
101
 
110
102
 
111
- しかし、javafxが見つからないという同じエラーが出ている状態です。
103
+ しかし、javafxが見つからないというエラーが出ている状態です。
112
104
 
113
105
 
114
106
 
115
107
  ■8/21追記
116
108
 
117
- Toshimichiに回答いただいた1つ目の方法、「必要となるjarを置いておく」とは
109
+ Toshimichiさん回答いただいた1つ目の方法、「必要となるjarを置いておく」とは
118
110
 
119
- jdk-14.0.2\libフォルダに
120
-
121
- javafx-sdk-14.0.2.1\libの中身(.jarファイル、javafx.properties、src.zip)を入れるという意味でよかったでしょうか?
111
+ jdk-14.0.2\libフォルダに、”javafx-sdk-14.0.2.1\libのjarファイルを入れるという意味でよかったでしょうか?
122
112
 
123
113
 
124
114
 
115
+ 結果は、同じエラーが出ています。
116
+
117
+
118
+
119
+ ■8/22追記
120
+
121
+ ※ソースコードやプロジェクトの構成を、該当のソースコードのように変更しました。
122
+
123
+
124
+
125
+ jdk-14.0.2\libフォルダの中身を元に戻し、Eclipseの
126
+
127
+ プロパティー→Javaのビルド・パス→ライブラリー→JARの追加
128
+
129
+ で、”javafx-sdk-14.0.2.1\lib内のjarファイル”を追加しました。
130
+
131
+
132
+
125
- これにより、Eclipseのプロジェクト内のJREシステム・ライブラリーにjavafxが追加されるのかなと思っですが、結果はやはり同じエラーが出てしいます。
133
+ javafxは認識されたようですが、別のエラーが出ます。
134
+
135
+
126
136
 
127
137
 
128
138
 
@@ -138,8 +148,6 @@
138
148
 
139
149
 
140
150
 
141
- ※コンソールに簡単な出力をする処理はできています。
142
-
143
151
 
144
152
 
145
153
  【参考にしたサイト】
@@ -148,6 +156,6 @@
148
156
 
149
157
  https://ateitexe.com/first-develop-javafx-application/#5
150
158
 
151
- Java11でJavaFXを動かす
159
+ プログラム備忘録 etc
152
160
 
153
- https://qiita.com/tsudon/items/ea2e78171e32b3cb1578
161
+ http://higehige0.blog.fc2.com/blog-entry-36.html

3

jdk-14.0.2\libフォルダを元に戻し、ビルドパスの設定をしました。

2020/08/22 13:58

投稿

Okam0chan
Okam0chan

スコア11

test CHANGED
File without changes
test CHANGED
@@ -126,8 +126,6 @@
126
126
 
127
127
 
128
128
 
129
-
130
-
131
129
  ### 補足情報(FW/ツールのバージョンなど)
132
130
 
133
131
  ・jdk-14.0.2

2

2020/08/22 12:41

投稿

Okam0chan
Okam0chan

スコア11

test CHANGED
File without changes
test CHANGED
@@ -120,6 +120,8 @@
120
120
 
121
121
  javafx-sdk-14.0.2.1\libの中身(.jarファイル、javafx.properties、src.zip)を入れるという意味でよかったでしょうか?
122
122
 
123
+
124
+
123
125
  これにより、Eclipseのプロジェクト内のJREシステム・ライブラリーにjavafxが追加されるのかなと思ったのですが、結果はやはり同じエラーが出てしまいます。
124
126
 
125
127
 

1

2020/08/21 03:27

投稿

Okam0chan
Okam0chan

スコア11

test CHANGED
File without changes
test CHANGED
@@ -112,6 +112,20 @@
112
112
 
113
113
 
114
114
 
115
+ ■8/21追記
116
+
117
+ Toshimichi様に回答いただいた1つ目の方法、「必要となるjarを置いておく」とは
118
+
119
+ jdk-14.0.2\libフォルダに
120
+
121
+ javafx-sdk-14.0.2.1\libの中身(.jarファイル、javafx.properties、src.zip)を入れるという意味でよかったでしょうか?
122
+
123
+ これにより、Eclipseのプロジェクト内のJREシステム・ライブラリーにjavafxが追加されるのかなと思ったのですが、結果はやはり同じエラーが出てしまいます。
124
+
125
+
126
+
127
+
128
+
115
129
  ### 補足情報(FW/ツールのバージョンなど)
116
130
 
117
131
  ・jdk-14.0.2