AnyLogic系统动力学模型中流与存量的动态颜色设置问题
解决AnyLogic流/存量动态变色的问题
错误原因
你写的代码里,recividism是流的数值变量(属于double基本数据类型),而setFillColor()是图形组件的方法,直接用数值变量调用这个方法自然会报错。
解决步骤
给流的图形组件命名
选中模型里的「recividism」流图形,在右侧属性面板的「常规」标签下,找到「名称」输入框,给它起个专属名字(比如recividismShape,注意别和数值变量名重复)。修正代码
判断数值还是用原来的recividism变量,但调用setFillColor()要用刚才命名的图形组件名,代码改成这样:if(recividism < 90000){ recividismShape.setFillColor(red); }else{ recividismShape.setFillColor(blue); }
存量的类似操作
如果要给存量做动态变色,逻辑完全一致:
- 选中存量图形,给它的组件命名(比如
stockShape) - 判断存量数值(用存量的变量名),调用组件的
setFillColor()方法即可
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

