AnyLogic - 在模拟时间

时间:2016-09-04 18:06:26

标签: simulation anylogic traffic-simulation

是否可以在运行时动态创建对象或修改它们?例如,在按钮单击,创建另一个按钮或更改道路的行数? 当我为一个按钮Action编写此代码时,在运行时

road123.setBackwardLanesCount(3);

我收到以下错误:

  

根:   road123:标记元素已经启动且无法修改。请使用不带参数的构造函数,执行设置,最后调用initialize()。function

1 个答案:

答案 0 :(得分:0)

您将使用参数化构造函数在运行时尝试创建的任何对象获得该错误。如果使用简单的构造函数(只是"()")创建对象,然后单独设置所有参数,则不会遇到该问题。检查Anylogic API以获取有关您正在使用的对象的特定信息,因为如果您使用简单的构造函数创建了该对象,则需要在设置所有对象后调用.initiliaze()。此外,如果要在运行时将对象添加到屏幕,则需要将此代码添加到创建它的函数中:

@Override
public void onDraw( Panel panel, Graphics2D graphics) {
    obj.drawModel(panel, graphics, true);
}

其中obj替换为您动态创建的对象的名称。