【发布时间】:2012-12-09 20:59:16
【问题描述】:
我是第一次使用 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();
}
问题是它没有在我的鼠标所在的坐标上绘制形状。它只是在上面的面板上绘制并绘制成一条线。
感谢您的回答。
【问题讨论】:
标签: java swing drawing jpanel shapes