anylogic - 使用 createAndStart 的目的
问题描述
您好:我正在研究将代理添加到 main 中用户指定位置的模型。为简单起见,代理是MyBox
. 我在 main 中有一个按钮控件,它执行以下操作。
MyBox b = new MyBox();
b.createAndStart(this);
add_myBoxes();
b.rectangle.setFillColor(randomColor());
b.setXYZ(0, 0, zLoc);
zLoc += 20;
我偶然发现了一个解决方案,但在添加之前b.createAndStart(this)
,我不断收到 NullPointerException。有人可以提供有关此方法的作用的见解吗?AnyLogic 帮助说它将这个代理的所有者分配给模型的顶级代理,我假设在这种情况下是主要的。如果我已将代理添加到myBoxes
主要的人口中,为什么有必要这样做。
解决方案
通常,您不使用该功能。该add_myBoxes(...)
功能为您完成所有这些,因此根本不需要使用它。
因此,在您的情况下,请不要使用它,但也不要使用您的自定义创建者new MyBox()
。
只需使用
MyBox b = add_myBoxes();
b.rectangle.setFillColor(randomColor());
b.setXYZ(0, 0, zLoc);
zLoc += 20;
你可以走了
PS:AnyLogic 允许您使用许多既没有记录也没有不言自明的功能。但是,99% 的情况下您实际上并不需要它们;)
推荐阅读
- jmx - 每分钟将数据记录到 grafana
- android - 房间更新后将回收站视图滚动到新位置
- laravel - laravel errno: 150 "外键约束格式不正确
- sql-server - 导出到 CSV/Excel 时如何保持 SQL 格式
- c# - LINQ-to-SQL 插入...选择...其中...在一个查询中
- python - 创建后分配外键值(登录用户)
- java - 具有 CompletableFuture 的 MDC 记录器
- cookies - 访问新网站时,为什么 cookie 出现在请求标头中而不是响应标头中?
- angular - http.post() 没有发送请求并得到错误:“指定的令牌无效”
- pine-script - 如何在 pinescript 中为 TradingView 开发多个时间框架 RSI