是否可以在运行时动态创建对象或修改它们?例如,在按钮单击,创建另一个按钮或更改道路的行数? 当我为一个按钮Action编写此代码时,在运行时
road123.setBackwardLanesCount(3);
我收到以下错误:
根: road123:标记元素已经启动且无法修改。请使用不带参数的构造函数,执行设置,最后调用initialize()。function
答案 0 :(得分:0)
您将使用参数化构造函数在运行时尝试创建的任何对象获得该错误。如果使用简单的构造函数(只是"()")创建对象,然后单独设置所有参数,则不会遇到该问题。检查Anylogic API以获取有关您正在使用的对象的特定信息,因为如果您使用简单的构造函数创建了该对象,则需要在设置所有对象后调用.initiliaze()。此外,如果要在运行时将对象添加到屏幕,则需要将此代码添加到创建它的函数中:
@Override
public void onDraw( Panel panel, Graphics2D graphics) {
obj.drawModel(panel, graphics, true);
}
其中obj替换为您动态创建的对象的名称。