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

AnyLogic实验窗口添加日历(含时间)下拉框的实现方法咨询

在AnyLogic实验窗口添加带时间的日历下拉框(无需修改底层模型)

完全可以实现,无需改动底层模型代码,仅通过实验的参数配置和UI定制就能完成需求,具体步骤如下:

  • 1. 创建实验级日期时间参数
    打开目标实验(比如「Main Experiment」),切换到「Parameters」标签页:

    • 点击「Add」新增参数,命名为selectedDateTime,类型选择DateTime(若只需日期选Date)
    • 勾选「Show in user interface」,让该参数在实验运行界面中显示
  • 2. 将参数转为日历下拉控件
    切换到实验的「User Interface」标签页:

    • 找到对应selectedDateTime的默认文本控件,右键选择「Change to」→「Date Picker」(DateTime类型的参数会自动带时间选择面板)
    • 拖拽控件调整位置和尺寸,适配界面布局
  • 3. 关联选定时间与配送数据表
    切换到实验的「Advanced」标签页,在「On startup」代码块中添加数据过滤逻辑(假设你的配送数据表为deliveryData,模型中有接收过滤数据的集合参数model.deliveryList):

    // 过滤匹配选定时间的配送数据
    List<Delivery> filteredData = deliveryData.stream()
        .filter(item -> item.deliveryTime.equals(selectedDateTime))
        .collect(Collectors.toList());
    // 将过滤后的数据传递给模型
    model.deliveryList = filteredData;
    

    若需要实时调整时间后重新加载数据,可在「User Interface」中添加「Reload Data」按钮,将上述逻辑复制到按钮的点击事件中。

  • 4. 测试验证
    启动实验,界面会出现带时间选择的日历下拉框,选定目标时间后点击运行,模型将自动调用匹配的配送数据进行仿真。

注意事项

  • 确保数据表中的时间字段类型与实验参数类型完全一致(均为Date或DateTime)
  • 若模型未预留数据接收参数,可通过实验的「Experiment Controls」直接调用模型内的方法传递数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:01:00