質問編集履歴
2
タイトルも前の書いた文章になっていた為
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Threadのjoin()
|
1
|
+
Threadのjoin()で別スレッドを動かす前のプログラムが一部反映されない。
|
test
CHANGED
@@ -24,6 +24,12 @@
|
|
24
24
|
|
25
25
|
追伸しました。
|
26
26
|
|
27
|
+
タイトルも…前のになっていたので追伸
|
28
|
+
|
29
|
+
動かない → 一部反映されない
|
30
|
+
|
31
|
+
|
32
|
+
|
27
33
|
|
28
34
|
|
29
35
|
##試した事
|
1
投稿できず、再度投稿したら前の文章になったので
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,94 +12,126 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
+
###追伸
|
16
|
+
|
17
|
+
Teratailの投稿ボタンを押す → 何故か投稿できず
|
18
|
+
|
19
|
+
そのまま再度投稿すると、かなり前の文章になってしまいました。(何故?)
|
20
|
+
|
21
|
+
その為、編集前の文章で見ていたらごめんなさい。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
追伸しました。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
##試した事
|
30
|
+
|
31
|
+
ボタン1は画面移行をする前に待機パネル(白)を表示させて
|
32
|
+
|
33
|
+
別スレッドで処理させています。処理順でパネル(黒)になります。
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
ボタン2は、別スレッドで動かしている間に、メインスレッドのプログラムが
|
38
|
+
|
39
|
+
動くか試しています。待機パネル(白)、時間が掛かりパネル変更(緑)
|
40
|
+
|
41
|
+
になりました。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
ボタン3はボタン2とは違い、join()によって別スレッドが終わるまで
|
46
|
+
|
47
|
+
待機してから(黄)最後に待機パネル(白)が表示されました。
|
48
|
+
|
49
|
+
(黄)は早すぎるのか見えないけど…
|
50
|
+
|
51
|
+
joinが原因かもしれません…
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
ボタン4は、join()メソッドによって別スレッドの処理が全部終わるまで
|
56
|
+
|
57
|
+
終了されないか試しました。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
##実現したい事
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
ここまでは自分の思う挙動範囲でした。しかし
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
ボタン5は、start()メソッド手前で白に背景を変えているのに
|
70
|
+
|
71
|
+
何故か変更されませんでした。
|
72
|
+
|
73
|
+
Class Eの方のpinkを外すと
|
74
|
+
|
75
|
+
別スレッドが終了してから白背景になりました。
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
別スレッドが起動前だから、起動前にパネルは白になるはず…
|
80
|
+
|
81
|
+
と思っていたのですが…
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
待機画面を出現させて、全部読み込ませてから
|
86
|
+
|
87
|
+
背景含め表示させたいと思っているので困っています。
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
##試した事
|
92
|
+
|
93
|
+
大変申し訳ないのですが、スレッドについて勉強中です。
|
94
|
+
|
95
|
+
とても簡素にして、挙動その物が合っているか試したのが
|
96
|
+
|
97
|
+
下記ソースコードとボタン1~4です。
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
ゲームで待機画面を出現させて、全部読み込ませてから
|
102
|
+
|
103
|
+
背景含め表示させようとしたのがボタン5です。
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
①別スレッドでなら背景色が変更になるか試す。
|
108
|
+
|
109
|
+
別スレッド内に記載したがならなかった。
|
110
|
+
|
111
|
+
②JFrameがそもそも変更できるかsetSizeを試す。
|
112
|
+
|
113
|
+
joinなし → 拡大後、背景が白→黒になる。
|
114
|
+
|
115
|
+
joinあり → 拡大後、背景変わらず、拡大した部分は黒くなり
|
116
|
+
|
117
|
+
拡大した部分を含めて背景色がピンクになる。
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
joinが原因なのは分かりました。
|
122
|
+
|
123
|
+
しかし、何故joinがこのような挙動をするか分かりません。
|
124
|
+
|
125
|
+
また、解決方法も教えて頂けたらと思っています。
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
ソースコードです。
|
132
|
+
|
15
133
|
---
|
16
134
|
|
17
|
-
|
18
|
-
|
19
|
-
ボタン1は画面移行をする前に待機パネル(白)を表示させて
|
20
|
-
|
21
|
-
別スレッドで処理させています。処理順でパネル(黒)になります。
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
ボタン2は、別スレッドで動かしている間に、メインスレッドのプログラムが
|
26
|
-
|
27
|
-
動くか試しています。待機パネル(白)、時間が掛かりパネル変更(緑)
|
28
|
-
|
29
|
-
になりました。
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
ボタン3はボタン2とは違い、join()によって別スレッドが終わるまで
|
34
|
-
|
35
|
-
待機してから(黄)最後に待機パネル(白)が表示されました。
|
36
|
-
|
37
|
-
(黄)は早すぎるのか見えないけど…
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
ボタン4は、join()メソッドによって別スレッドの処理が全部終わるまで
|
42
|
-
|
43
|
-
終了されないか試しました。
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
---
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
ここまでは自分の思う挙動範囲でした。しかし
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
ボタン5は、start()メソッド手前で白に背景を変えているのに
|
56
|
-
|
57
|
-
何故か変更されませんでした。
|
58
|
-
|
59
|
-
Class Eの方のpinkを外すと
|
60
|
-
|
61
|
-
別スレッドが終了してから白背景になりました。
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
別スレッドが起動前だから、起動前にパネルは白になるはず…
|
66
|
-
|
67
|
-
と思っていたのですが…
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
待機画面を出現させて、全部読み込ませてから
|
72
|
-
|
73
|
-
背景含め表示させたいと思っているので困っています。
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
##試した事
|
78
|
-
|
79
|
-
大変申し訳ないのですが、スレッドについて勉強中です。
|
80
|
-
|
81
|
-
とても簡素にして、挙動その物が合っているか試したのが
|
82
|
-
|
83
|
-
下記ソースコードとボタン1~4です。
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
ゲームで待機画面を出現させて、全部読み込ませてから
|
88
|
-
|
89
|
-
背景含め表示させようとしたのがボタン5です。
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
ソースコードです。
|
100
|
-
|
101
|
-
---
|
102
|
-
|
103
135
|
```java
|
104
136
|
|
105
137
|
import java.awt.Color;
|