JPanel を初めて使用し、JPanel で基本的な図形を描画します。
次のような形状のコードを記述しました。
public class Shape extends JPanel{
int x,y;
public Shape(int x, int y){
this.x = x;
this.y = y;
}
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.black);
g.drawRect(x, y, 20, 20);
}
}
この形状を使用する別のクラスがあります。JFrame を拡張し、MouseListener を実装します。この JFrame には、単に「パネル」と呼ばれる JPanel を配置しました。
マウスの位置を読み取り、「パネル」に形状を描画するメソッドがあります。
public void mouseClicked(MouseEvent e){
Shape shape = new Shape(e.getX(),e.getY());
panel.add(shape);
panel.revalidate();
panel.repaint();
}
問題は、マウスがある座標に形状が描画されないことです。上側のパネルに描画して並べて描画するだけです。
回答ありがとうございます。