怎么清空JPanel上画的图
时间: 2024-03-23 22:41:19 浏览: 42
如果是在 `JPanel` 上绘制的图形,可以通过在 `JPanel` 内部重写 `paintComponent(Graphics g)` 方法,在每次绘制前清空已绘制的图形,例如:
```
public class MyPanel extends JPanel {
private Shape shape; // 画的图形
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// 清空已经绘制的图形
g.clearRect(0, 0, getWidth(), getHeight());
// 绘制图形
if (shape != null) {
Graphics2D g2d = (Graphics2D) g;
g2d.draw(shape);
}
}
// 其他代码省略
}
```
在 `paintComponent` 方法中,通过 `g.clearRect(0, 0, getWidth(), getHeight())` 将已经绘制的图形清空。
当然,你也可以在 `JPanel` 的其他方法中调用 `repaint()` 方法来触发重绘,例如:
```
panel.repaint(); // 触发panel重绘
```
这样也会调用 `paintComponent` 方法,从而清空已经绘制的图形。
阅读全文