# 删除位置渲染

> 原文： [https://docs.oracle.com/javase/tutorial/uiswing/dnd/droplocation.html](https://docs.oracle.com/javase/tutorial/uiswing/dnd/droplocation.html)

这是一个更高级的主题，大多数人不需要担心它。但是，如果您有自定义组件，则需要自己处理放置位置渲染。

您可以注册以在`dropLocation`属性更改时收到通知。您将监听此更改并使用`getDropLocation`方法在组件的自定义渲染器或`paintComponent`方法中自行渲染放置位置。

以下是侦听`dropLocation`属性的示例：

```
class Repainter extends PropertyChangeListener {
    public void propertyChange(PropertyChangeEvent pce) {
        repaintDropLocation(pce.getOldValue());
        repaintDropLocation(pce.getNewValue());
    }
}

comp.addPropertyChangeListener("dropLocation", newRepainter());

```

以下是`paintComponent`方法的示例：

```
public void paintComponent(Graphics g) {
    super.paintComponent(g);

    DropLocation loc= getDropLocation();
    if (loc == null) {
        return;
    }

    renderPrettyIndicatorAt(loc);
}

```