Элементы управления можно разместить на странице эксперимента с внешним интерфейсом, чтобы получить возможность использовать их для настройки параметров до запуска модели (как показано на рис. ниже).

Сейчас мы рассмотрим это на примере модели 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() |
-
Как мы можем улучшить эту статью?
-