2

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

road123.setBackwardLanesCount(3);

我收到以下错误:

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

4

1 回答 1

0

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

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

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

于 2016-10-19T05:55:46.020 回答