在 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();
}
}
我正在尝试向 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();
}
}