アップレットのアクションリスナーが動作しません
アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように
下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願
いします。
・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。
・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、
mouseEnteredでも四角を書きません。
・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。
"paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、
「gを解決できません」というエラー表示は出ていません。
原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。
==================================================================
import java.applet.Applet;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.AffineTransform;
public class ActionTest extends Applet implements MouseListener
{
Canvas cs ;
public void init()
{
this.setBackground(Color.pink);
Canvas cs = new Canvas( ) ;
cs.setBackground(Color.green);
cs.setSize( 100 , 100 ) ;
this.add( cs ) ;
this.addMouseListener( this ) ;
}
public void paint(Graphics g)
{
g.fillRect( 50 , 50 , 10 , 10 ) ;
}
public void mouseClicked(MouseEvent e)
{
Graphics g = getGraphics() ;
setBackground( Color.cyan ) ;
paint(g) ;
repaint();
}
public void mouseEntered(MouseEvent e)
{
cs.setBackground( Color.orange ) ;
cs.paint(g) ;
repaint();
}
public void mouseExited(MouseEvent arg0) { }
public void mousePressed(MouseEvent arg0) { }
public void mouseReleased(MouseEvent arg0) { }
}
==================================================================
お礼
なるほど。点と点がようやく線になりました(笑)クラスとインターフェースの単純な違いなのですね。。。丁寧なご回答ありがとうございました。