質問するログイン新規登録

質問編集履歴

3

修正

2019/06/07 02:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -15,6 +15,10 @@
15
15
 
16
16
  JAVA_HOME :C:\pleiades\java\8
17
17
  path: %JAVA_HOME%\bin
18
+
19
+ ECLIPSE_HOME : C:\pleiades\eclipse
20
+ path: %ECLIPSE_HOME%\bin
21
+
18
22
  です。
19
23
  classファイルはできているのでコンパイルは成功しているみたいですが、よくわかりません。
20
24
  このコードをEclipseで実行するにはどうすればいいか、ご教授ください、お願いいたします。

2

2019/06/07 02:35

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -12,7 +12,7 @@
12
12
  となっています。
13
13
 
14
14
  Eclipseのバージョンは4.11でJavaFXを含まないコードは正常に作動しています。
15
- ランタイムjreはプロジェクトJRE(p)(java12)です。
15
+
16
16
  JAVA_HOME :C:\pleiades\java\8
17
17
  path: %JAVA_HOME%\bin
18
18
  です。

1

全面的質問の変更

2019/06/07 02:33

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,42 +1,105 @@
1
1
  JavaFXの参考書でEclipseを使って勉強しています。実行すると
2
+ Eclipseのコンソール: Unrecognized option: --module-path=C:\java\javafx-sdk-11\lib
3
+
2
- エラー: メイン・クラスtopic14を検出およびロードできませんでした
4
+ Java Virtual Machine Launcher
3
- 原因: java.lang.ClassNotFoundException: topic14
5
+ error: Could not create the Java Virtual Machine.
6
+ error: A fatal exception has occurred.Program will exit.
7
+
4
8
  と出ています。
9
+
5
10
  Eclipseのプロジェクト名:Java8Key
6
- フォルダ:src/topic14/JavaFXWnd.java
11
+ フォルダ:src/topic01/LineClass.java
7
12
  となっています。
8
13
 
9
14
  Eclipseのバージョンは4.11でJavaFXを含まないコードは正常に作動しています。
10
15
  ランタイムjreはプロジェクトJRE(p)(java12)です。
11
- JAVA_HOME :C:\Program Files\Java\jdk-12.0.1
16
+ JAVA_HOME :C:\pleiades\java\8
12
- path: C:\Program Files\Java\jdk-12.0.1\bin
17
+ path: %JAVA_HOME%\bin
13
18
  です。
14
- 最初import javafx *存在ませんと出ていたですが、jarを追加して
19
+ classファイルできているのでコンパイルは成功しているみですが、よくわかりません。
15
- エラー表示は消えたのですが、実行できないところです。
16
- OpenJDKとOpenJFXをどうにかしないと使えないようなことをネットを見たのですが、
17
- むつかしくてわかりません。
18
20
  このコードをEclipseで実行するにはどうすればいいか、ご教授ください、お願いいたします。
19
21
 
20
22
  ```
21
- // JavaFXWnd.java
23
+ // LineClass.java
22
24
 
25
+ package topic01;
26
+
27
+ import java.util.ArrayList;
28
+ import java.util.List;
29
+
23
30
  import javafx.application.Application;
31
+ import javafx.scene.Group;
24
32
  import javafx.scene.Scene;
25
- import javafx.scene.control.Label;
33
+ import javafx.scene.canvas.Canvas;
34
+ import javafx.scene.canvas.GraphicsContext;
26
- import javafx.scene.text.Font;
35
+ import javafx.scene.paint.Color;
27
36
  import javafx.stage.Stage;
28
37
 
29
- public class JavaFXWnd extends Application {
38
+ class Line {
30
39
 
31
- public void start(Stage stage) throws Exception {
32
- stage.setTitle("Hello, JavaFX");
40
+ double lineWidth; // フィールド宣言
33
- stage.setWidth(520);
34
- stage.setHeight(220);
35
- Label lblMsg = new Label("Hello, JavaFX");
36
- lblMsg.setFont(new Font(80));
37
- stage.setScene(new Scene(lblMsg));
38
- stage.show();
41
+ double ypos;
42
+ Color lineColor;
43
+
44
+ public Line() // コンストラクタ
45
+ {
46
+ this(1.0,20,Color.BLACK);
39
- }
47
+ }
48
+
49
+ public Line(double y)
50
+ {
51
+ this(1.0, y, Color.BLACK);
52
+ }
53
+
54
+ public Line(double y, Color col)
55
+ {
56
+ this(1.0, y, col);
57
+ }
58
+
59
+ public Line(double linewidth, double y, Color col)
60
+ {
61
+ lineWidth = linewidth;
62
+ ypos = y;
63
+ lineColor = col;
64
+ }
65
+
66
+ // 線を描く
67
+ public void drawLine(GraphicsContext gc) {
68
+ gc.setLineWidth(lineWidth);
69
+ gc.setStroke(lineColor);
70
+ gc.strokeLine(10, ypos, 230, ypos);
71
+ }
40
72
  }
41
73
 
74
+ public class LineClass extends Application {
75
+
76
+ @Override
77
+ public void start(Stage stage) throws Exception {
78
+
79
+ stage.setTitle("LineClass");
80
+ stage.setWidth(260);
81
+ stage.setHeight(110);
82
+
83
+ Group root = new Group();
84
+
85
+ final Canvas canvas = new Canvas(250,250);
86
+ GraphicsContext gc = canvas.getGraphicsContext2D();
87
+
88
+ // 線を作成する
89
+ List <Line> lines = new ArrayList<Line>();
90
+ lines.add(new Line());
91
+ lines.add(new Line(30.0));
92
+ lines.add(new Line(40.0, Color.BLUE));
93
+ lines.add(new Line(2.0, 50.0, Color.ROSYBROWN));
94
+
95
+ // 線を描く
96
+ for(Line line : lines)
97
+ line.drawLine(gc);
98
+
99
+ root.getChildren().add(canvas);
100
+ stage.setScene(new Scene(root, 300, 300));
101
+ stage.show();
102
+ }
103
+ }
104
+
42
105
  ```