質問編集履歴
6
title
CHANGED
File without changes
|
body
CHANGED
@@ -116,6 +116,4 @@
|
|
116
116
|
|
117
117
|
```
|
118
118
|
|
119
|
-
追記:今は、JTextFieldを中心に配置し、普通にJTextFieldに文字が入力できるようにしたいです。問題点は、JTextFieldを中心に配置できない事と、ひらがなを入力するとパネル?(フレーム?)が白くなってしまう事に困っています。わかりづらくてすみません。
|
119
|
+
追記:今は、JTextFieldを中心に配置し、普通にJTextFieldに文字が入力できるようにしたいです。問題点は、JTextFieldを中心に配置できない事と、ひらがなを入力するとパネル?(フレーム?)が白くなってしまう事に困っています。わかりづらくてすみません。
|
120
|
-
コード
|
121
|
-
```
|
5
追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
なので、それが実現できるようなコードを教えてほしいです。(参考にしたいと思います)
|
4
4
|
|
5
|
-
よろしくお願いします
|
5
|
+
よろしくお願いします
|
6
|
-
|
6
|
+
```Java
|
7
7
|
MakeWindow.java
|
8
8
|
public void actionPerformed(ActionEvent e){
|
9
9
|
// 選択されたときの処理を定義
|
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
}
|
15
|
-
上のように呼び出して、
|
15
|
+
//上のように呼び出して、
|
16
16
|
TextBox.Java
|
17
17
|
|
18
18
|
import java.awt.Color;
|
@@ -114,4 +114,8 @@
|
|
114
114
|
}
|
115
115
|
}
|
116
116
|
|
117
|
+
```
|
118
|
+
|
117
|
-
追記:今は、JTextFieldを中心に
|
119
|
+
追記:今は、JTextFieldを中心に配置し、普通にJTextFieldに文字が入力できるようにしたいです。問題点は、JTextFieldを中心に配置できない事と、ひらがなを入力するとパネル?(フレーム?)が白くなってしまう事に困っています。わかりづらくてすみません。```ここに言語を入力
|
120
|
+
コード
|
121
|
+
```
|
4
追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,10 +12,9 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
}
|
15
|
-
|
15
|
+
上のように呼び出して、
|
16
|
-
TextBox.
|
16
|
+
TextBox.Java
|
17
17
|
|
18
|
-
import java.awt.BorderLayout;
|
19
18
|
import java.awt.Color;
|
20
19
|
import java.awt.Container;
|
21
20
|
import java.awt.Graphics;
|
@@ -54,25 +53,28 @@
|
|
54
53
|
@SuppressWarnings("deprecation")
|
55
54
|
public JFrame makeImageWindow(String imagePath){
|
56
55
|
JFrame frame1 = new JFrame("テスト");
|
57
|
-
|
56
|
+
TextBox panel1 = new TextBox();
|
58
|
-
JTextField text1 = new JTextField();
|
57
|
+
JTextField text1 = new JTextField(5);
|
59
|
-
|
58
|
+
|
59
|
+
|
60
60
|
frame1.getContentPane().add(panel1);
|
61
|
-
frame1.setLocation(480,185);//フレームの位置
|
62
|
-
frame1.setSize(200,200);//フレームのサイズ指定
|
63
|
-
|
61
|
+
frame1.setLocation(480,185);
|
62
|
+
frame1.setSize(200,200);
|
63
|
+
|
64
|
+
|
64
|
-
//
|
65
|
+
//panel1.setBackground(new Color(0,0,0,0));
|
65
|
-
panel1.setOpaque(false);//パネルを
|
66
|
+
panel1.setOpaque(false);//パネルを透明に
|
66
|
-
panel1.setBackground(new Color(0,0,0,0));
|
67
|
-
text1.setBackground(new Color(0,0,0,0));
|
68
|
-
panel1.add(text1,BorderLayout.LINE_START);
|
69
67
|
panel1.show();
|
68
|
+
panel1.add(text1);
|
69
|
+
|
70
|
+
|
71
|
+
text1.setOpaque(false);//テキストフィールドを透明に
|
72
|
+
|
73
|
+
|
70
74
|
frame1 = viewImage(frame1,imagePath);
|
71
75
|
return frame1;
|
72
76
|
}
|
73
77
|
|
74
|
-
|
75
|
-
|
76
78
|
@SuppressWarnings("deprecation")
|
77
79
|
public JFrame viewImage(JFrame frame,String imagePath){
|
78
80
|
|
@@ -90,7 +92,6 @@
|
|
90
92
|
canvas = new Canvas(image);
|
91
93
|
contentPane.add(canvas);
|
92
94
|
frame.setVisible(true);
|
93
|
-
|
94
95
|
}
|
95
96
|
else{
|
96
97
|
canvas.image = image;
|
@@ -113,5 +114,4 @@
|
|
113
114
|
}
|
114
115
|
}
|
115
116
|
|
116
|
-
こんな感じになってます。わかりづらくてすみません、
|
117
|
-
|
117
|
+
追記:今は、JTextFieldを中心にセットする方法と、JTextFieldにひらがなを入力するとパネル?(フレーム?)が白くなってしまうのに困っています。
|
3
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -113,4 +113,5 @@
|
|
113
113
|
}
|
114
114
|
}
|
115
115
|
|
116
|
-
こんな感じになってます。わかりづらくてすみません、
|
116
|
+
こんな感じになってます。わかりづらくてすみません、
|
117
|
+
※意味のないコードとか書いてあると思いますが、初心者なので気にしないでください、よろしくお願いします。
|
2
コードを入力しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,4 +4,113 @@
|
|
4
4
|
|
5
5
|
よろしくお願いします????
|
6
6
|
|
7
|
+
MakeWindow.java
|
8
|
+
public void actionPerformed(ActionEvent e){
|
9
|
+
// 選択されたときの処理を定義
|
10
|
+
TextBox t = new TextBox();
|
11
|
+
t.makeImageWindow("aaa.png");
|
12
|
+
|
13
|
+
|
14
|
+
}
|
15
|
+
こんな感じで呼び出して、
|
16
|
+
TextBox.java
|
17
|
+
|
18
|
+
import java.awt.BorderLayout;
|
19
|
+
import java.awt.Color;
|
20
|
+
import java.awt.Container;
|
21
|
+
import java.awt.Graphics;
|
22
|
+
import java.awt.Image;
|
23
|
+
import java.awt.event.MouseEvent;
|
24
|
+
import java.awt.event.MouseListener;
|
25
|
+
|
26
|
+
import javax.swing.ImageIcon;
|
27
|
+
import javax.swing.JFrame;
|
28
|
+
import javax.swing.JPanel;
|
29
|
+
import javax.swing.JTextField;
|
30
|
+
|
31
|
+
public class TextBox extends JPanel implements MouseListener{
|
32
|
+
|
33
|
+
// マウスリスナのメソッドを定義
|
34
|
+
public void mouseClicked(MouseEvent e){
|
35
|
+
|
36
|
+
}
|
37
|
+
public void mousePressed(MouseEvent e){
|
38
|
+
|
39
|
+
}
|
40
|
+
public void mouseReleased(MouseEvent e){
|
41
|
+
|
42
|
+
}
|
43
|
+
public void mouseEntered(MouseEvent e){
|
44
|
+
|
45
|
+
}
|
46
|
+
public void mouseExited(MouseEvent e){
|
47
|
+
|
48
|
+
}
|
49
|
+
|
50
|
+
Canvas canvas = null;
|
51
|
+
Container contentPane = null;
|
52
|
+
|
53
|
+
|
54
|
+
@SuppressWarnings("deprecation")
|
7
|
-
|
55
|
+
public JFrame makeImageWindow(String imagePath){
|
56
|
+
JFrame frame1 = new JFrame("テスト");
|
57
|
+
MakeWindow panel1 = new MakeWindow();
|
58
|
+
JTextField text1 = new JTextField();
|
59
|
+
text1.setColumns(5);
|
60
|
+
frame1.getContentPane().add(panel1);
|
61
|
+
frame1.setLocation(480,185);//フレームの位置
|
62
|
+
frame1.setSize(200,200);//フレームのサイズ指定
|
63
|
+
//panel.setLocation(480,185);
|
64
|
+
//panel.setSize(700, 800);
|
65
|
+
panel1.setOpaque(false);//パネルを最背面に配置
|
66
|
+
panel1.setBackground(new Color(0,0,0,0));
|
67
|
+
text1.setBackground(new Color(0,0,0,0));
|
68
|
+
panel1.add(text1,BorderLayout.LINE_START);
|
69
|
+
panel1.show();
|
70
|
+
frame1 = viewImage(frame1,imagePath);
|
71
|
+
return frame1;
|
72
|
+
}
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
@SuppressWarnings("deprecation")
|
77
|
+
public JFrame viewImage(JFrame frame,String imagePath){
|
78
|
+
|
79
|
+
ImageIcon icon = new ImageIcon(imagePath);
|
80
|
+
|
81
|
+
frame.setUndecorated(true);//枠を撤去
|
82
|
+
frame.setBackground(new Color(0,0,0,0));//背景を透明に
|
83
|
+
|
84
|
+
frame.show();
|
85
|
+
|
86
|
+
Image image = icon.getImage();
|
87
|
+
|
88
|
+
contentPane = frame.getContentPane();
|
89
|
+
if(canvas == null){
|
90
|
+
canvas = new Canvas(image);
|
91
|
+
contentPane.add(canvas);
|
92
|
+
frame.setVisible(true);
|
93
|
+
|
94
|
+
}
|
95
|
+
else{
|
96
|
+
canvas.image = image;
|
97
|
+
canvas.repaint();
|
98
|
+
}
|
99
|
+
return frame;
|
100
|
+
}
|
101
|
+
|
102
|
+
private class Canvas extends JPanel{
|
103
|
+
private static final long serialVersionUID = 1L;
|
104
|
+
private Image image = null;
|
105
|
+
public Canvas(Image image){
|
106
|
+
super();
|
107
|
+
this.image = image;
|
108
|
+
}
|
109
|
+
public void paintComponent(Graphics g){
|
110
|
+
if(image == null) return;
|
111
|
+
g.drawImage(image,0,0,this);
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
|
116
|
+
こんな感じになってます。わかりづらくてすみません、
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,4 +2,6 @@
|
|
2
2
|
|
3
3
|
なので、それが実現できるようなコードを教えてほしいです。(参考にしたいと思います)
|
4
4
|
|
5
|
-
よろしくお願いします????
|
5
|
+
よろしくお願いします????
|
6
|
+
|
7
|
+
追記:すみません、部活でやっているので月曜日にコード貼りますのでお待ちください、宜しくお願いします。
|