在 Draw2D 中向 PolylineConnection 添加标签

Adding label to PolylineConnection in Draw2D

我正在尝试向 Draw2d 中的 PolylineConnection 添加标签。我使用 java2s 中的示例作为基础。问题是,即使我可以通过在 PathFigure 对象(扩展 PolylineConnection)的 paintFigure 方法上使用 graphics.drawText() 创建文本,标签在大多数情况下都会被删除,如这些捕获所示:

在我看来,图形的边界似乎将部分文本留在了绘制区域之外,因为它确实正确地绘制了具有更大边界的对角线箭头。

我试图在构造函数和绘制方法中显式设置对象的边界,但 PolylineConnection 似乎忽略了它们。知道如何解决这个问题,或者是否有其他方法可以实现这种标签?

请使用下图作为连接图。

import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.MidpointLocator;
import org.eclipse.draw2d.PolygonDecoration;
import org.eclipse.draw2d.PolylineConnection;

public class LabelConnectionFigure extends PolylineConnection {
    protected Label label;

    public LabelConnectionFigure() {
        setTargetDecoration(new PolygonDecoration());
        MidpointLocator labelLocator = new MidpointLocator(this, 0);
        label = new Label("1");
        label.setOpaque(true);
        add(label, labelLocator);
    }

    public void setLabelText(String labelText) {
        label.setText(labelText);
    }

    public String getLabelText() {
        return label.getText();
    }
}