質問編集履歴

6

2016/12/19 11:09

投稿

Choco_late
Choco_late

スコア7

test CHANGED
File without changes
test CHANGED
@@ -234,8 +234,4 @@
234
234
 
235
235
 
236
236
 
237
- 追記:今は、JTextFieldを中心に配置し、普通にJTextFieldに文字が入力できるようにしたいです。問題点は、JTextFieldを中心に配置できない事と、ひらがなを入力するとパネル?(フレーム?)が白くなってしまう事に困っています。わかりづらくてすみません。```ここに言語を入力
237
+ 追記:今は、JTextFieldを中心に配置し、普通にJTextFieldに文字が入力できるようにしたいです。問題点は、JTextFieldを中心に配置できない事と、ひらがなを入力するとパネル?(フレーム?)が白くなってしまう事に困っています。わかりづらくてすみません。
238
-
239
- コード
240
-
241
- ```

5

追記しました。

2016/12/19 11:09

投稿

Choco_late
Choco_late

スコア7

test CHANGED
File without changes
test CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
 
8
8
 
9
- よろしくお願いします????
9
+ よろしくお願いします
10
+
10
-
11
+ ```Java
11
-
12
12
 
13
13
  MakeWindow.java
14
14
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  }
28
28
 
29
- 上のように呼び出して、
29
+ //上のように呼び出して、
30
30
 
31
31
  TextBox.Java
32
32
 
@@ -230,4 +230,12 @@
230
230
 
231
231
 
232
232
 
233
+ ```
234
+
235
+
236
+
233
- 追記:今は、JTextFieldを中心にセットる方法と、JTextFieldにひらがなを入力するとパネル?(フレーム?)が白くなってしまうに困っています。
237
+ 追記:今は、JTextFieldを中心に配置し、普通にJTextFieldに文字が入力できるようにしたいで。問題点は、JTextFieldを中心配置できない事と、ひらがなを入力するとパネル?(フレーム?)が白くなってしまうに困っています。わかりづらくてすみません。```ここに言語を入力
238
+
239
+ コード
240
+
241
+ ```

4

追記しました。

2016/12/19 09:52

投稿

Choco_late
Choco_late

スコア7

test CHANGED
File without changes
test CHANGED
@@ -26,13 +26,11 @@
26
26
 
27
27
  }
28
28
 
29
- こんな感じで呼び出して、
29
+ 上のように呼び出して、
30
-
30
+
31
- TextBox.java
31
+ TextBox.Java
32
-
33
-
34
-
35
- import java.awt.BorderLayout;
32
+
33
+
36
34
 
37
35
  import java.awt.Color;
38
36
 
@@ -110,32 +108,42 @@
110
108
 
111
109
  JFrame frame1 = new JFrame("テスト");
112
110
 
113
- MakeWindow panel1 = new MakeWindow();
111
+ TextBox panel1 = new TextBox();
114
-
112
+
115
- JTextField text1 = new JTextField();
113
+ JTextField text1 = new JTextField(5);
116
-
117
- text1.setColumns(5);
114
+
115
+
116
+
117
+
118
118
 
119
119
  frame1.getContentPane().add(panel1);
120
120
 
121
- frame1.setLocation(480,185);//フレームの位置
122
-
123
- frame1.setSize(200,200);//フレームのサイズ指定
124
-
125
- //panel.setLocation(480,185);
121
+ frame1.setLocation(480,185);
122
+
126
-
123
+ frame1.setSize(200,200);
124
+
125
+
126
+
127
+
128
+
127
- //panel.setSize(700, 800);
129
+ //panel1.setBackground(new Color(0,0,0,0));
128
-
130
+
129
- panel1.setOpaque(false);//パネルを最背面配置
131
+ panel1.setOpaque(false);//パネルを透明
130
-
131
- panel1.setBackground(new Color(0,0,0,0));
132
-
133
- text1.setBackground(new Color(0,0,0,0));
134
-
135
- panel1.add(text1,BorderLayout.LINE_START);
136
132
 
137
133
  panel1.show();
138
134
 
135
+ panel1.add(text1);
136
+
137
+
138
+
139
+
140
+
141
+ text1.setOpaque(false);//テキストフィールドを透明に
142
+
143
+
144
+
145
+
146
+
139
147
  frame1 = viewImage(frame1,imagePath);
140
148
 
141
149
  return frame1;
@@ -144,10 +152,6 @@
144
152
 
145
153
 
146
154
 
147
-
148
-
149
-
150
-
151
155
  @SuppressWarnings("deprecation")
152
156
 
153
157
  public JFrame viewImage(JFrame frame,String imagePath){
@@ -182,8 +186,6 @@
182
186
 
183
187
  frame.setVisible(true);
184
188
 
185
-
186
-
187
189
  }
188
190
 
189
191
  else{
@@ -228,6 +230,4 @@
228
230
 
229
231
 
230
232
 
231
- こんな感じになってます。わかりづらくてすみません、
232
-
233
- ※意味のいコードとか書いてあると思います、初心者なので気しなでください、よろしくお願いします。
233
+ 追記:今は、JTextFieldを中心にセットする方法と、JTextFieldにひらがを入力するとパネル?(フレーム?)白くってしまうのに困っています。

3

追記

2016/12/19 09:46

投稿

Choco_late
Choco_late

スコア7

test CHANGED
File without changes
test CHANGED
@@ -229,3 +229,5 @@
229
229
 
230
230
 
231
231
  こんな感じになってます。わかりづらくてすみません、
232
+
233
+ ※意味のないコードとか書いてあると思いますが、初心者なので気にしないでください、よろしくお願いします。

2

コードを入力しました

2016/12/19 04:58

投稿

Choco_late
Choco_late

スコア7

test CHANGED
File without changes
test CHANGED
@@ -10,4 +10,222 @@
10
10
 
11
11
 
12
12
 
13
+ MakeWindow.java
14
+
15
+ public void actionPerformed(ActionEvent e){
16
+
17
+ // 選択されたときの処理を定義
18
+
19
+ TextBox t = new TextBox();
20
+
21
+ t.makeImageWindow("aaa.png");
22
+
23
+
24
+
25
+
26
+
27
+ }
28
+
29
+ こんな感じで呼び出して、
30
+
31
+ TextBox.java
32
+
33
+
34
+
35
+ import java.awt.BorderLayout;
36
+
37
+ import java.awt.Color;
38
+
39
+ import java.awt.Container;
40
+
41
+ import java.awt.Graphics;
42
+
43
+ import java.awt.Image;
44
+
45
+ import java.awt.event.MouseEvent;
46
+
47
+ import java.awt.event.MouseListener;
48
+
49
+
50
+
51
+ import javax.swing.ImageIcon;
52
+
53
+ import javax.swing.JFrame;
54
+
55
+ import javax.swing.JPanel;
56
+
57
+ import javax.swing.JTextField;
58
+
59
+
60
+
61
+ public class TextBox extends JPanel implements MouseListener{
62
+
63
+
64
+
65
+ // マウスリスナのメソッドを定義
66
+
67
+ public void mouseClicked(MouseEvent e){
68
+
69
+
70
+
71
+ }
72
+
73
+ public void mousePressed(MouseEvent e){
74
+
75
+
76
+
77
+ }
78
+
79
+ public void mouseReleased(MouseEvent e){
80
+
81
+
82
+
83
+ }
84
+
85
+ public void mouseEntered(MouseEvent e){
86
+
87
+
88
+
89
+ }
90
+
91
+ public void mouseExited(MouseEvent e){
92
+
93
+
94
+
95
+ }
96
+
97
+
98
+
99
+ Canvas canvas = null;
100
+
101
+ Container contentPane = null;
102
+
103
+
104
+
105
+
106
+
107
+ @SuppressWarnings("deprecation")
108
+
13
- 追記:すみません、部活でやっているので月曜日にコード貼りますのでお待ちください、宜しくお願いします。
109
+ public JFrame makeImageWindow(String imagePath){
110
+
111
+ JFrame frame1 = new JFrame("テスト");
112
+
113
+ MakeWindow panel1 = new MakeWindow();
114
+
115
+ JTextField text1 = new JTextField();
116
+
117
+ text1.setColumns(5);
118
+
119
+ frame1.getContentPane().add(panel1);
120
+
121
+ frame1.setLocation(480,185);//フレームの位置
122
+
123
+ frame1.setSize(200,200);//フレームのサイズ指定
124
+
125
+ //panel.setLocation(480,185);
126
+
127
+ //panel.setSize(700, 800);
128
+
129
+ panel1.setOpaque(false);//パネルを最背面に配置
130
+
131
+ panel1.setBackground(new Color(0,0,0,0));
132
+
133
+ text1.setBackground(new Color(0,0,0,0));
134
+
135
+ panel1.add(text1,BorderLayout.LINE_START);
136
+
137
+ panel1.show();
138
+
139
+ frame1 = viewImage(frame1,imagePath);
140
+
141
+ return frame1;
142
+
143
+ }
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+ @SuppressWarnings("deprecation")
152
+
153
+ public JFrame viewImage(JFrame frame,String imagePath){
154
+
155
+
156
+
157
+ ImageIcon icon = new ImageIcon(imagePath);
158
+
159
+
160
+
161
+ frame.setUndecorated(true);//枠を撤去
162
+
163
+ frame.setBackground(new Color(0,0,0,0));//背景を透明に
164
+
165
+
166
+
167
+ frame.show();
168
+
169
+
170
+
171
+ Image image = icon.getImage();
172
+
173
+
174
+
175
+ contentPane = frame.getContentPane();
176
+
177
+ if(canvas == null){
178
+
179
+ canvas = new Canvas(image);
180
+
181
+ contentPane.add(canvas);
182
+
183
+ frame.setVisible(true);
184
+
185
+
186
+
187
+ }
188
+
189
+ else{
190
+
191
+ canvas.image = image;
192
+
193
+ canvas.repaint();
194
+
195
+ }
196
+
197
+ return frame;
198
+
199
+ }
200
+
201
+
202
+
203
+ private class Canvas extends JPanel{
204
+
205
+ private static final long serialVersionUID = 1L;
206
+
207
+ private Image image = null;
208
+
209
+ public Canvas(Image image){
210
+
211
+ super();
212
+
213
+ this.image = image;
214
+
215
+ }
216
+
217
+ public void paintComponent(Graphics g){
218
+
219
+ if(image == null) return;
220
+
221
+ g.drawImage(image,0,0,this);
222
+
223
+ }
224
+
225
+ }
226
+
227
+ }
228
+
229
+
230
+
231
+ こんな感じになってます。わかりづらくてすみません、

1

2016/12/19 04:30

投稿

Choco_late
Choco_late

スコア7

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,7 @@
7
7
 
8
8
 
9
9
  よろしくお願いします????
10
+
11
+
12
+
13
+ 追記:すみません、部活でやっているので月曜日にコード貼りますのでお待ちください、宜しくお願いします。