当前位置: 首页 > 知识库问答 >
问题:

动态更改Repast Symphony中代理的边框颜色

叶英哲
2023-03-14

我必须动态更改代理的边框颜色。代理在显示屏上显示为默认圆圈。显示的颜色必须根据代理类中定义的布尔变量进行更改。第一次创建并显示代理时,它的样式正确,但当代理类中的boolen变量更改时,边框颜色不会更改。如果我对代理的填充颜色也做同样的处理,效果会很好。我把我使用的代码放在这里:

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,但问题仍然存在

共有1个答案

公良高刚
2023-03-14

我在JZombie演示中尝试了这一点,为每个僵尸添加了一个"id"double,每个僵尸都设置了随机Helper.nextDouble()每个刻度。边框颜色按预期变化。默认情况下边框大小为0,所以也许需要在您的代码中更改。

public class ZombieStyle extends DefaultStyleOGL2D {

    public Color getColor(Object agent) {
        return Color.RED;
    }

    public Color getBorderColor(Object agent) {
        Zombie z = (Zombie)agent;
        if (z.getID() > 0.5) {
            return Color.GREEN;
        }
        return Color.black;
    }

    public int getBorderSize(Object agent) {
        return 4;
    }

}
 类似资料:
  • 我正在尝试根据行标准更改背景行颜色。我离得很近,但有些事情我不能完全理解。(我相信这是因为我从底层列表中提取对象,而不是动态地获取数据。我标记了下面代码的这一部分) 在下面的示例中,每一行颜色都基于一个具有成功或失败值的对象(MyObj)。如果myObj有一个成功值,行应该是绿色的。如果myObj有一个失败值,那么行应该是红色的。如果myObj没有值,则应使用默认行颜色。

  • 我正在使用RangeSeekBar为3种情况设置一些值(即绿色=OK,琥珀色=警告,红色=撤离)...我正在使用xml绘图来设置背景 我知道我可以通过编程更改渐变,但如何缩小起始颜色并增加结束颜色?有人能解决这个问题吗? 谢谢

  • 问题来了:我的应用程序中有几个面板,形状与背景相同,但对于每个形状,我想要不同的边框(笔画)颜色。我不想创建3个形状,唯一的区别是在笔画颜色上。是否可以在运行时更改笔划值?

  • 问题内容: 我在中创建两个对象,然后执行以下操作。 运行代码时,我可以看到两个矩形(一个在Aqua中,一个在黑色中),当我单击按钮时,我必须等待2秒钟才能查看两个矩形的颜色变化。 我先更改一个矩形的颜色,然后再更改下一个矩形的颜色。 我的问题是为什么我应该等待2秒?有没有一种方法可以动态更新矩形的颜色? 问题答案: 您正在UI线程上睡眠,该线程会阻止任何进一步的处理(包括刷新屏幕)。 如果需要延迟

  • 如果你点击按钮,你会看到一个蓝色的边框,这对我来说真的很烦。对于如何让它消失/根本不出现,你有什么解决方案吗?

  • 我在这个问题上做了一些研究,但我还没有发现任何类似的东西。 首先,我使用ShapeDrawable创建了一个线性布局的边框,然后我尝试在LinearLayout上设置背景色,但颜色未设置,然后我对两行ShapeDrowable进行了注释,然后在设置了线性布局的背景色之后,但边框颜色出现了问题。 这是我通过JSON获得的背景颜色和边框颜色的值。 我想通过java代码动态设置线性布局的背景颜色和边框颜