Элементы управления можно разместить на странице эксперимента с внешним интерфейсом, чтобы получить возможность использовать их для настройки параметров до запуска модели (как показано на рис. ниже).
Сейчас мы рассмотрим это на примере модели Wandering Elephants. У этой модели есть параметр NumberOfElephants в агенте верхнего уровня Main. Этот параметр определяет количество слонов. Сейчас мы предоставим пользователю возможность настраивать этот параметр на странице эксперимента до запуска модели.
Как соединить элемент управления на странице эксперимента с параметром агента модели верхнего уровня
- Откройте диаграмму эксперимента Simulation (двойным нажатием на элемент Simulation в панели Projects).
- Добавьте бегунок на странице эксперимента, чтобы получить возможность изменять количество слонов. Перетяните элемент Бегунок из палитры Элементы управления в графический редактор.
- В свойствах бегунка укажите Минимальное значение, Максимальное значение и Значение по умолчанию. Нажмите на кнопку Добавить метки..., чтобы добавить метки для бегунка, которые будут отображать минимальное, максимальное и текущие значения.
- Сейчас мы соединим бегунок со свойствами Main, агента модели верхнего уровня. Откройте раздел Параметры в свойствах эксперимента Simulation. Здесь вы можете указать значения всех параметров агента верхнего уровня (Main) данной модели.
- В поле NumberOfElephants, укажите действительное значение. Введите следующее: slider.getintValue(). Используйте авто завершение когда пишите код.
- Запустите эксперимент и перетащите бегунок. Вы увидите, что количество слонов в модели равно количеству, которое вы указали бегунком до запуска модели.
Здесь мы использовали функцию бегунка getIntValue(), чтобы получить текущее значение бегунка и связать его с параметром NumberOfElephants агента Main.
Таким же образом можно вынести и другие элементы управления. Обратите внимание на то, что вы используете разные функции, имена функций отличаются в зависимости от элемента управления и типа значения параметра, который вы связываете.
Элемент управления | Тип значения | Можно связать с типом | Функция |
---|---|---|---|
Флажок | boolean | boolean | isSelected() |
Текстовое поле | String |
String double int |
getText() getDoubleValue() getIntValue() |
Переключатель | int | int | getValue() |
Бегунок | double | double int |
getValue() getIntValue() |
Выпадающий список | String | String | getValue() |
Список | String | String | getValue() |
-
Как мы можем улучшить эту статью?
-