В графическом интерфейсе не отображаются атрибуты агента.

См. Ниже, почему в графическом интерфейсе пользователя не отображается список требований в свойстве агента (внизу слева)?

введите описание изображения здесь


person Jack    schedule 06.09.2019    source источник


Ответы (1)


Без некоторых дополнительных аннотаций механизм проверки Repast не отображает непримитивные + String типы. Вы можете сделать одно из двух

  • создать методы получения / установки, которые возвращают ваш список в виде строки и принимают строку в качестве параметра соответственно. Последний будет анализировать String и обновлять список проанализированными значениями.

  • Используйте аннотацию @ProbedProperty и укажите преобразователь String для преобразования из списка в String. Например,

@ProbedProperty(usageName="list", displayName="A List", converter="repast.simphony.parameter.StringConverterFactory$StringStringConverter")
public List<Integer> getList() {
    return Arrays.asList(1, 2, 3, 4);
}

Здесь я использую StringConverterFactory$StringStringConverter для преобразования. Это отлично работает только для геттера, но не работает для сеттера. Если у вас есть сеттер, вам нужно будет написать собственную реализацию StringConverter.

Наконец, если вы используете аннотацию ProbedProperty, вам может потребоваться добавить ее для других свойств, которые вы хотите показать. Для примитивов преобразователь можно не указывать. Я думаю, что наличие ProbedProperty означает «не отображать все свойства, а только те, которые я аннотировал».

person Nick Collier    schedule 06.09.2019