我试图用我的鼠标画出我设定的某种形状。我定义了一些形状,它们可以扩展形状并绘制圆形和东西。但是当我点击面板时,油漆似乎没有在白色的jpanel上放任何东西。调试器告诉我虽然保存了形状。
public void mouseClicked(MouseEvent e) {
currentX = e.getX();
currentY = e.getY();
Shape newShape = owner.currentBrush.clone();
picture.add(newShape);
repaint();
}
public void paint(Graphics g){
super.paint(g);
for( int i = 0; i < myShapes.size(); i++ ){
picture.get(i).draw(g);
}
}
public void draw(Graphics g){
Graphics g2d = (Graphics2D) g;
g2d.setColor(Color.BLUE);
g2d.fillOval(getX(), getY(), radius, radius);
g.drawOval(getX(), getY(), radius, radius);
}
答案 0 :(得分:2)
而不是覆盖paint()
方法使用paintComponent()
的{{1}}方法。
JPanel
了解更多