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

回答編集履歴

1

ちょっと違うかな?^^;

2020/08/20 13:34

投稿

TN8001
TN8001

スコア10114

answer CHANGED
@@ -14,8 +14,11 @@
14
14
  理屈
15
15
  `JPanel#paintComponent(Graphics g)`は`background`カラーで塗りつぶすのが規定動作です。
16
16
  それを飛ばすと前回の描画が残ることになります。
17
- 残ったとしても同じ位置に描くのだから問題ないはずですが、レイアウトの最中に?何度か呼ばれることがあるようです(このあたり詳細わかりません)
17
+ ~~残ったとしても同じ位置に描くのだから問題ないはずですが、レイアウトの最中に?何度か呼ばれることがあるようです(このあたり詳細わかりません)~~
18
- `System.out.println("paintComponent");`等を入れるとわかります。
18
+ ~~`System.out.println("paintComponent");`等を入れるとわかります。~~
19
19
 
20
- 手元では起動するだけで2回呼ばれました。
20
+ ~~手元では起動するだけで2回呼ばれました。~~
21
- その際`JPanel`自体の位置が、微妙に違ってしまっているということだと思います。
21
+ ~~その際`JPanel`自体の位置が、微妙に違ってしまっているということだと思います。~~
22
+
23
+ 起動時に2重になっていないので、ちょっと違うかな?^^;
24
+ `setBounds(0,0,600,600);`等と、0,0起点にするとずれないのでレイアウト関連ではあると思います。