質問編集履歴

3

修正

2019/06/07 02:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -32,6 +32,14 @@
32
32
 
33
33
  path: %JAVA_HOME%\bin
34
34
 
35
+
36
+
37
+ ECLIPSE_HOME : C:\pleiades\eclipse
38
+
39
+ path: %ECLIPSE_HOME%\bin
40
+
41
+
42
+
35
43
  です。
36
44
 
37
45
  classファイルはできているのでコンパイルは成功しているみたいですが、よくわかりません。

2

2019/06/07 02:35

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  Eclipseのバージョンは4.11でJavaFXを含まないコードは正常に作動しています。
28
28
 
29
- ランタイムjreはプロジェクトJRE(p)(java12)です。
29
+
30
30
 
31
31
  JAVA_HOME :C:\pleiades\java\8
32
32
 

1

全面的質問の変更

2019/06/07 02:33

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,24 @@
1
1
  JavaFXの参考書でEclipseを使って勉強しています。実行すると
2
2
 
3
+ Eclipseのコンソール: Unrecognized option: --module-path=C:\java\javafx-sdk-11\lib
4
+
5
+
6
+
3
- エラー: メイン・クラスtopic14を検出およびロードできませんでした
7
+ Java Virtual Machine Launcher
4
-
8
+
5
- 原因: java.lang.ClassNotFoundException: topic14
9
+ error: Could not create the Java Virtual Machine.
10
+
11
+ error: A fatal exception has occurred.Program will exit.
12
+
13
+
6
14
 
7
15
  と出ています。
8
16
 
17
+
18
+
9
19
  Eclipseのプロジェクト名:Java8Key
10
20
 
11
- フォルダ:src/topic14/JavaFXWnd.java
21
+ フォルダ:src/topic01/LineClass.java
12
22
 
13
23
  となっています。
14
24
 
@@ -18,19 +28,13 @@
18
28
 
19
29
  ランタイムjreはプロジェクトJRE(p)(java12)です。
20
30
 
21
- JAVA_HOME :C:\Program Files\Java\jdk-12.0.1
31
+ JAVA_HOME :C:\pleiades\java\8
22
-
32
+
23
- path: C:\Program Files\Java\jdk-12.0.1\bin
33
+ path: %JAVA_HOME%\bin
24
34
 
25
35
  です。
26
36
 
27
- 最初import javafx *存在ませんと出ていたですが、jarを追加して
37
+ classファイルできているのでコンパイルは成功しているみですが、よくわかりません。
28
-
29
- エラー表示は消えたのですが、実行できないところです。
30
-
31
- OpenJDKとOpenJFXをどうにかしないと使えないようなことをネットを見たのですが、
32
-
33
- むつかしくてわかりません。
34
38
 
35
39
  このコードをEclipseで実行するにはどうすればいいか、ご教授ください、お願いいたします。
36
40
 
@@ -38,46 +42,168 @@
38
42
 
39
43
  ```
40
44
 
41
- // JavaFXWnd.java
45
+ // LineClass.java
46
+
47
+
48
+
49
+ package topic01;
50
+
51
+
52
+
53
+ import java.util.ArrayList;
54
+
55
+ import java.util.List;
42
56
 
43
57
 
44
58
 
45
59
  import javafx.application.Application;
46
60
 
61
+ import javafx.scene.Group;
62
+
47
63
  import javafx.scene.Scene;
48
64
 
49
- import javafx.scene.control.Label;
65
+ import javafx.scene.canvas.Canvas;
66
+
50
-
67
+ import javafx.scene.canvas.GraphicsContext;
68
+
51
- import javafx.scene.text.Font;
69
+ import javafx.scene.paint.Color;
52
70
 
53
71
  import javafx.stage.Stage;
54
72
 
55
73
 
56
74
 
75
+ class Line {
76
+
77
+
78
+
79
+ double lineWidth; // フィールド宣言
80
+
81
+ double ypos;
82
+
83
+ Color lineColor;
84
+
85
+
86
+
57
- public class JavaFXWnd extends Application {
87
+ public Line() // コンストラクタ
58
-
59
-
60
-
61
- public void start(Stage stage) throws Exception {
88
+
62
-
63
- stage.setTitle("Hello, JavaFX");
64
-
65
- stage.setWidth(520);
89
+ {
66
-
90
+
67
- stage.setHeight(220);
91
+ this(1.0,20,Color.BLACK);
68
-
69
- Label lblMsg = new Label("Hello, JavaFX");
92
+
70
-
71
- lblMsg.setFont(new Font(80));
72
-
73
- stage.setScene(new Scene(lblMsg));
74
-
75
- stage.show();
76
-
77
- }
93
+ }
94
+
95
+
96
+
97
+ public Line(double y)
98
+
99
+ {
100
+
101
+ this(1.0, y, Color.BLACK);
102
+
103
+ }
104
+
105
+
106
+
107
+ public Line(double y, Color col)
108
+
109
+ {
110
+
111
+ this(1.0, y, col);
112
+
113
+ }
114
+
115
+
116
+
117
+ public Line(double linewidth, double y, Color col)
118
+
119
+ {
120
+
121
+ lineWidth = linewidth;
122
+
123
+ ypos = y;
124
+
125
+ lineColor = col;
126
+
127
+ }
128
+
129
+
130
+
131
+ // 線を描く
132
+
133
+ public void drawLine(GraphicsContext gc) {
134
+
135
+ gc.setLineWidth(lineWidth);
136
+
137
+ gc.setStroke(lineColor);
138
+
139
+ gc.strokeLine(10, ypos, 230, ypos);
140
+
141
+ }
78
142
 
79
143
  }
80
144
 
81
145
 
82
146
 
147
+ public class LineClass extends Application {
148
+
149
+
150
+
151
+ @Override
152
+
153
+ public void start(Stage stage) throws Exception {
154
+
155
+
156
+
157
+ stage.setTitle("LineClass");
158
+
159
+ stage.setWidth(260);
160
+
161
+ stage.setHeight(110);
162
+
163
+
164
+
165
+ Group root = new Group();
166
+
167
+
168
+
169
+ final Canvas canvas = new Canvas(250,250);
170
+
171
+ GraphicsContext gc = canvas.getGraphicsContext2D();
172
+
173
+
174
+
175
+ // 線を作成する
176
+
177
+ List <Line> lines = new ArrayList<Line>();
178
+
179
+ lines.add(new Line());
180
+
181
+ lines.add(new Line(30.0));
182
+
183
+ lines.add(new Line(40.0, Color.BLUE));
184
+
185
+ lines.add(new Line(2.0, 50.0, Color.ROSYBROWN));
186
+
187
+
188
+
189
+ // 線を描く
190
+
191
+ for(Line line : lines)
192
+
193
+ line.drawLine(gc);
194
+
195
+
196
+
197
+ root.getChildren().add(canvas);
198
+
199
+ stage.setScene(new Scene(root, 300, 300));
200
+
201
+ stage.show();
202
+
203
+ }
204
+
205
+ }
206
+
207
+
208
+
83
209
  ```