質問編集履歴

4

2021/06/07 12:28

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,240 +4,6 @@
4
4
 
5
5
  1つ目はウィンドウに画像を表示し、マウスクリックでウィンドウ上に座標を出すプログラム。
6
6
 
7
- ```Java
7
+ 二つ目はキーボードで入力した値で計算するプログラム。
8
8
 
9
- import javax.swing.*;
10
-
11
- import java.awt.Point;
12
-
13
- import java.awt.image.BufferedImage;
14
-
15
- import java.awt.Color;
16
-
17
- import java.awt.BorderLayout;
18
-
19
- import java.awt.event.*;
20
-
21
- import javax.swing.JFrame;
22
-
23
- import javax.swing.JPanel;
24
-
25
- import java.io.File;
26
-
27
- import java.io.IOException;
28
-
29
- import javax.imageio.ImageIO;
30
-
31
- import java.awt.Graphics;
32
-
33
- import java.awt.Graphics2D;
34
-
35
-
36
-
37
- public class JPointTest extends JFrame implements MouseListener{
38
-
39
-
40
-
41
- JLabel label;
42
-
43
- BufferedImage image = null;
44
-
45
-
46
-
47
- public static void main(String[] args){
48
-
49
- JPointTest frame = new JPointTest();
50
-
51
-
52
-
53
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
54
-
55
- frame.setBounds(10, 10, 300, 200);
56
-
57
- frame.setTitle("タイトル");
58
-
59
- frame.setVisible(true);
60
-
61
- }
62
-
63
-
64
-
65
- JPointTest(){
66
-
67
- JPanel panel = new JPanel();
68
-
69
- panel.addMouseListener(this);
70
-
71
-
72
-
73
- try {
74
-
75
- image = ImageIO.read(new File("A01.jpg"));
76
-
77
- } catch (Exception e) {
78
-
79
- e.printStackTrace();
80
-
81
- image = null;
82
-
83
- }
84
-
85
-
86
-
87
- //System.out.println(new File("~/Desktop/A01.jpg").getAbsoluteFile());
88
-
89
-
90
-
91
- label = new JLabel("座標値");
92
-
93
-
94
-
95
- getContentPane().add(panel, BorderLayout.CENTER);
96
-
97
- getContentPane().add(label, BorderLayout.PAGE_END);
98
-
99
- }
100
-
101
- public void paint(Graphics g){
102
-
103
- g.drawImage(image, 0, 0, this);
104
-
105
- }
106
-
107
- public void mouseClicked(MouseEvent e){
108
-
109
- Point point = e.getPoint();
110
-
111
- label.setText("x:" + **__point.x__** + ",y:" + **__point.y__**);
112
-
113
- }
114
-
115
-
116
-
117
- public void mouseEntered(MouseEvent e){}
118
-
119
- public void mouseExited(MouseEvent e){}
120
-
121
- public void mousePressed(MouseEvent e){}
122
-
123
- public void mouseReleased(MouseEvent e){}
124
-
125
-
126
-
127
- }
128
-
129
- ```
130
-
131
-
132
-
133
- 2つ目はファイルの中にある画像の座標計算→その座標の色味を表示するプログラムです。
9
+ これらを合わせてマウスクリックで入力した座標計算するプログラムを作りたかったのですが、エラーが出てしまい出来ません
134
-
135
- ```java
136
-
137
- import java.awt.Color;
138
-
139
- import java.awt.image.BufferedImage;
140
-
141
- import java.io.File;
142
-
143
- import java.io.IOException;
144
-
145
- import javax.imageio.ImageIO;
146
-
147
-
148
-
149
- public class Study {
150
-
151
-
152
-
153
- public static void main(String[] args) {
154
-
155
-
156
-
157
- String filename = "A";
158
-
159
- String imagename;
160
-
161
-
162
-
163
- try{
164
-
165
- int **__xA**__=0__**__**;
166
-
167
- int **__yA**__=0__**__**;
168
-
169
- int NoA=0;
170
-
171
- int xD=100;
172
-
173
- int yD=100;
174
-
175
- int NoD=20;
176
-
177
-
178
-
179
- for (int i=NoA; i<=NoD; i++){
180
-
181
-
182
-
183
- int X,Y;
184
-
185
- X=(xD-xA)*(i-NoA)/(NoD-NoA)+xA;
186
-
187
- Y=(yD-yA)*(i-NoA)/(NoD-NoA)+yA;
188
-
189
-
190
-
191
- String str = String.valueOf(i);
192
-
193
- imagename=filename+str+".jpg";
194
-
195
- System.out.print(imagename);
196
-
197
- System.out.print(":x="+X);
198
-
199
- System.out.print(",y="+Y);
200
-
201
-
202
-
203
-
204
-
205
- BufferedImage img = ImageIO.read(new File(imagename));
206
-
207
-
208
-
209
- Color color = new Color (img.getRGB(X,Y));
210
-
211
-
212
-
213
-
214
-
215
-
216
-
217
- int Green = color.getGreen();
218
-
219
- System.out.print("緑:"+Green);
220
-
221
-
222
-
223
- }
224
-
225
-
226
-
227
- }catch(IOException e){
228
-
229
- e.printStackTrace();
230
-
231
- }
232
-
233
- }
234
-
235
- }
236
-
237
- ```
238
-
239
- 1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
240
-
241
- (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
242
-
243
- 2つは同じフォルダの中に入っています。

3

文章を訂正しました

2021/06/07 12:28

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -241,7 +241,3 @@
241
241
  (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
242
242
 
243
243
  2つは同じフォルダの中に入っています。
244
-
245
-
246
-
247
- java初心者のためクラスの構造?などが理解できていないのかもしれません。お知恵をお借りできればと思います。

2

文章を訂正しました

2021/06/07 06:22

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -240,7 +240,7 @@
240
240
 
241
241
  (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
242
242
 
243
- 2つは同じファイルの中に入っています。
243
+ 2つは同じフの中に入っています。
244
244
 
245
245
 
246
246
 

1

ソースコードを囲みました。

2021/06/07 06:17

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  1つ目はウィンドウに画像を表示し、マウスクリックでウィンドウ上に座標を出すプログラム。
6
6
 
7
+ ```Java
8
+
7
9
  import javax.swing.*;
8
10
 
9
11
  import java.awt.Point;
@@ -124,10 +126,14 @@
124
126
 
125
127
  }
126
128
 
129
+ ```
130
+
127
131
 
128
132
 
129
133
  2つ目は、ファイルの中にある画像の座標を計算→その座標の色味を表示するプログラムです。
130
134
 
135
+ ```java
136
+
131
137
  import java.awt.Color;
132
138
 
133
139
  import java.awt.image.BufferedImage;
@@ -228,7 +234,7 @@
228
234
 
229
235
  }
230
236
 
231
-
237
+ ```
232
238
 
233
239
  1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
234
240