我必须动态更改代理的边框颜色。代理在显示屏上显示为默认圆圈。显示的颜色必须根据代理类中定义的布尔变量进行更改。首次创建和显示代理时,它具有正确的样式,但是当代理类中的布尔变量发生变化时,边框颜色不会改变。如果我对代理的填充颜色执行相同的操作,则效果很好。我把我使用的代码放在这里:
public class NodeStyle extends DefaultStyleOGL2D{
@Override
public Color getBorderColor(Object agent) {
Color borderColor = Color.BLACK;
if(agent instanceof Process) {
Process p = (Process)agent;
if(p.isParticularNode) {
borderColor = Color.RED;
}
}
return borderColor;
}
}
创建代理并将其添加到上下文时,它会采用正确的颜色,但如果isParticularNode
更改,边框颜色不会更改。我也尝试过导入界面StyleOGL2D
,但问题仍然存在