gpt4 book ai didi

java - 如何避免连接器在 Open Office/Libre Office Draw 中移动形状

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:11 25 4
gpt4 key购买 nike

我正在以编程方式绘制一个流程图(使用 Java UNO 运行时引用),其中我正在显示 If-Else 条件。但我在显示“ELSE”条件时遇到问题,因为在这种情况下,连接器会移动到中间形状上(如附图所示)enter image description here

我用来绘制连接器的代码是:-

XShapes xShapes = (XShapes)
UnoRuntime.queryInterface(XShapes.class, xDrawPage);
XMultiServiceFactory xMsf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc);
Object connector = xMsf.createInstance("com.sun.star.drawing.ConnectorShape");
xShapes.add(UnoRuntime.queryInterface(XShape.class, connector));

XPropertySet xConnector2PropSet = (XPropertySet)UnoRuntime.queryInterface(
XPropertySet.class, connector);
xConnector2PropSet.setPropertyValue("EdgeKind", ConnectorType.STANDARD);
xConnector2PropSet.setPropertyValue("StartShape", xShape1);
xConnector2PropSet.setPropertyValue("StartGluePointIndex", new Integer(startPt));
xConnector2PropSet.setPropertyValue("LineEndName", "Arrow");
xConnector2PropSet.setPropertyValue("EndShape", xShape2 );
xConnector2PropSet.setPropertyValue("EndGluePointIndex", new Integer(endPt));

请建议如何使用 Java 中的 UNO 运行时引用正确布局和路由连接器。

最佳答案

我在 OpenOffice Draw 中遇到了同样的问题,并且无法找到向一个连接器添加更多句柄的任何可能性。但是一个连接器可以以另一个连接器结束。所以我最终使用了两个连接器,第一个没有以箭头结尾(蓝色),第二个从第一个结束的地方开始(红色)。

example of non-crossing connectors

关于java - 如何避免连接器在 Open Office/Libre Office Draw 中移动形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20066410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com