Windowをリサイズした場合の初期化方法
Windowをリサイズした場合の初期化方法
今日は、java初心者です、宜しくお願いします。
下のようなプログラムを書いてやりました。
正常に動作するのですが、Windowサイズを大きくしたり小さくした場合に、
画面が真っ白に初期化されるようにしたい場合には、どこの箇所をどのように
修正してやれば良いのでしょうか。
update();とかを試しに挿入してやりましたが、うまく動作しません。
宜しくお願いします。
==================================================================
public class Test extends Applet
{
int i ;
public void init()
{
Frame f = new myFrame(this);
Button b1 = new Button("円");
Button b2 = new Button("四角");
this.add(b1);
this.add(b2);
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);
}
}
}
お礼
handleEvent() を action() に変えたところ、ボタンアップのみの反応となり、希望どうりに なりました。 ありがとうございます。 非推奨と言われることもなくなってすっきりしました。 ボタンを押したという判別も、複数のボタンに対応させるため、e.target instanceof より e.target で、自分の付けた 変数名で判別するようにします。 別スレッドで誤字のことも見ました。 間違えたいとうことは手打ちでソースを書いたんでしょうね。 すごいと思いました。