Java 将代理的数量移动到顶层

Java 将代理的数量移动到顶层,java,simulation,anylogic,Java,Simulation,Anylogic,我正在使用java动态地创建一组代理。在这样做的同时,我还创建了其他几个部分重叠的形状。我已经了解到,在运行时不可能更改形状的堆叠顺序。这可以通过更改代码中的创建顺序轻松解决 不知何故,这对一群特工来说并不管用。 如何创建代理: WindTurbine WT = add_windTurbines(); WT.setXY(posX, posY); 这些人口部分隐藏在其他形状下。有办法把它拿到前面吗 这是简化为所有必要部分的模型。管道覆盖在二维视图中的风力涡轮机上。管道应位于涡轮机下方。涡轮机

我正在使用java动态地创建一组代理。在这样做的同时,我还创建了其他几个部分重叠的形状。我已经了解到,在运行时不可能更改形状的堆叠顺序。这可以通过更改代码中的创建顺序轻松解决

不知何故,这对一群特工来说并不管用。 如何创建代理:

WindTurbine WT = add_windTurbines();
WT.setXY(posX,  posY); 
这些人口部分隐藏在其他形状下。有办法把它拿到前面吗

这是简化为所有必要部分的模型。管道覆盖在二维视图中的风力涡轮机上。管道应位于涡轮机下方。涡轮机是通过使用复制和“启动时:”窗口中的代码创建的

这应该可以:

转到main中的人口,单击代表代理的形状,单击鼠标右键,然后选择“带到前面”


如果您的总体未在main中定义,因为它是代理类型,我认为您应该创建总体,并在流程图源中向自定义总体添加代理(如果您使用的是处理库或离散事件)。。不确定是否所有这些步骤都是必要的,但请尝试一下。

可惜没有成功。我使用的是自定义人口。似乎AnyLogic在此代码中定义了层:
@AnyLogicInternalCodegenAPI保护静态最终int\u windTurbines\u presentation=10等待。。是否在运行时创建形状?代理和形状是在主类的“启动时:”窗口中创建的。确定。。。为了避免这些问题,我通常以图形方式创建形状并使用复制。。。然后,由于每个复制都有一个ID,您可以根据需要设置位置。。。那么我的解决方案就行了,你能改成这样吗?或者你是如何创建形状的?这个问题与我的另一个问题有关。在模拟开始之前,所需形状的数量是未知的。所以(我认为)有必要在启动时用java创建形状。或者是否可以创建复制?