You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AnyLogic如何通过字符串值引用对应Shape text对象并获取其值

AnyLogic通过对象名字符串获取文本对象的实现方案

AnyLogic的Agent实例(Main页面对应的就是顶级Agent实例)内置findElement(String elementName)方法,可直接通过元素名称字符串检索对应的画布元素,具体实现步骤如下:

  • 先将findElement返回的父类Shape对象强转为ShapeText类型,匹配你创建的文本对象类型
  • 调用ShapeText实例的getText()方法即可读取到对应的文本值

示例代码如下:

// 你预先定义存储文本对象总数量的变量,示例名为textTotalCount
for (int i = 1; i <= textTotalCount; i++) {
    // 生成对应规则的对象名字符串
    String shapeName = "text" + i;
    // 检索并强转为文本对象类型
    ShapeText targetText = (ShapeText) findElement(shapeName);
    // 非空判断避免命名不匹配导致的空指针异常
    if (targetText != null) {
        // 获取文本值,后续可替换为你自身的业务逻辑
        String textValue = targetText.getText();
        // 测试时可使用 traceln(textValue) 打印验证结果
    }
}

补充注意事项

  • 如果你的函数写在非Main的其他Agent内部,需要指定Main实例调用检索方法,写法改为main.findElement(shapeName),前提是你已配置该Agent对Main的引用权限
  • findElement为AnyLogic内置公开方法,无需额外导入第三方包即可直接调用

内容的提问来源于stack exchange,提问作者Surendhar Ramana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:06:04