• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Windowをリサイズした場合の初期化方法)

Windowをリサイズした場合の初期化方法

このQ&Aのポイント
  • Windowをリサイズした場合に画面が真っ白に初期化される方法を教えてください。
  • 既存のプログラムにupdate()などを挿入してもうまく動作しないようです。
  • 初心者ですので、具体的な修正箇所や方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ComponentListenerというものがあります。 極端に短く書かせてもらいます。 initメソッドの中に public void init(){ /////////////////////////////////////////////////// this.addComponentListener( new ComponentAdapter(){ public void componentResized(){ i = 0; } }); /////////////////////////////////////////////////// } を追加し、 上の方に import java.awt.event.*; を追加してください。 これでできるはずです。

htgo
質問者

お礼

toorisugari001さん、回答有難う御座います。 下のようにコードを変更しましたが、全く動作内容は同じです。 宜しくお願いします。 ============================================================= public class test2 extends Applet { int i ; public void init() { test2 f = new test2(); Button b1 = new Button("円"); Button b2 = new Button("四角"); this.add(b1); this.add(b2); this.addComponentListener ( new ComponentAdapter() { public void componentResized() { i = 0; } } ); setSize(400,400); setVisible(true); } public boolean action(Event e , Object o) { Graphics g = getGraphics(); if(e.target instanceof Button ) { if((String)o=="円") { i = 1; } if((String)o=="四角") { i = 2; } repaint(); return true; } else return false; } public void paint(Graphics g) { if (i == 1) { g.setColor(Color.red); g.drawOval(50,50,30,30); } if (i == 2) { g.setColor(Color.blue); g.fillRect(50,50,30,30); } } }

関連するQ&A