###質問したいこと
appletviewerで表示しているプログラムについて、
ウィンドウの大きさを変更したときによばれる再描画メソッドは何か教えてください。
###試したこと
通常、再描画させたいときにはrepaint()を呼び出し、
repaint()は、update()を経て、paint()メソッドを呼び出しますが
appletviewerにて表示されているウィンドウのサイズを変更したときには
どうやらupdate()メソッドが呼ばれていないようなのです。
update()メソッドを以下のようにオーバーライドしてみました。
java
1public void update(Graphics g){ 2 System.out.println("呼ばれた!!"); 3 g.clearRect(0,0,width,height) //widthとheightは自分の大きさ 4 paint(g); 5}
そして再度実行してみると、repaint()メソッドを呼び出した部分では標準出力に"呼ばれた!!"と書かれるのですが、
ウィンドウの大きさを変えたときには標準出力には何も出力されませんでした。
以上のことから、ウィンドウの大きさを変更したときにはupdate()メソッドや、repaint()メソッドが呼ばれないのではないかと考えました。
しかし、再描画はされています。
上記のように、updateをオーバーライドしたプログラムに、
画面の大きさを常にアップレット上に文字列で表示するという昨日を追加してみたところ、やはりウィンドウの大きさを変えれば、その数値も変わっていきました。
しかし、標準出力には何も出力されませんでした。
これはすなわち、ウィンドウの大きさを変えたときも再描画はされているが、update()メソッドは呼ばれていないことだと考えました。
そこで質問です。ウィンドウの大きさを変えたときには、repaint()メソッドではない再描画メソッドが呼ばれるのでしょうか?
また、それはどのようなメソッドなのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/29 06:15
2017/04/29 07:12