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

質問編集履歴

6

2016/12/19 11:09

投稿

Choco_late
Choco_late

スコア7

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

追記しました。

2016/12/19 11:09

投稿

Choco_late
Choco_late

スコア7

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を中心にセットす方法と、JTextFieldにひらがなを入力するとパネル?(フレーム?)が白くなってしまうに困っています。
119
+ 追記:今は、JTextFieldを中心に配置し、普通にJTextFieldに文字が入力できようにしたいです。問題点は、JTextFieldを中心配置できない事と、ひらがなを入力するとパネル?(フレーム?)が白くなってしまうに困っています。わかりづらくてすみません。```ここに言語を入力
120
+ コード
121
+ ```

4

追記しました。

2016/12/19 09:52

投稿

Choco_late
Choco_late

スコア7

title CHANGED
File without changes
body CHANGED
@@ -12,10 +12,9 @@
12
12
 
13
13
 
14
14
  }
15
- こんな感じで呼び出して、
15
+ 上のように呼び出して、
16
- TextBox.java
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
- MakeWindow panel1 = new MakeWindow();
56
+ TextBox panel1 = new TextBox();
58
- JTextField text1 = new JTextField();
57
+ JTextField text1 = new JTextField(5);
59
- text1.setColumns(5);
58
+
59
+
60
60
  frame1.getContentPane().add(panel1);
61
- frame1.setLocation(480,185);//フレームの位置
62
- frame1.setSize(200,200);//フレームのサイズ指定
63
- //panel.setLocation(480,185);
61
+ frame1.setLocation(480,185);
62
+ frame1.setSize(200,200);
63
+
64
+
64
- //panel.setSize(700, 800);
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

追記

2016/12/19 09:46

投稿

Choco_late
Choco_late

スコア7

title CHANGED
File without changes
body CHANGED
@@ -113,4 +113,5 @@
113
113
  }
114
114
  }
115
115
 
116
- こんな感じになってます。わかりづらくてすみません、
116
+ こんな感じになってます。わかりづらくてすみません、
117
+ ※意味のないコードとか書いてあると思いますが、初心者なので気にしないでください、よろしくお願いします。

2

コードを入力しました

2016/12/19 04:58

投稿

Choco_late
Choco_late

スコア7

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

2016/12/19 04:30

投稿

Choco_late
Choco_late

スコア7

title CHANGED
File without changes
body CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  なので、それが実現できるようなコードを教えてほしいです。(参考にしたいと思います)
4
4
 
5
- よろしくお願いします????
5
+ よろしくお願いします????
6
+
7
+ 追記:すみません、部活でやっているので月曜日にコード貼りますのでお待ちください、宜しくお願いします。