AnyLogic
Развернуть
Размер шрифта

Выпадающий список

Элемент управления, позволяющий пользователю выбирать какой-то один элемент из заданного списка. Имя выбранного элемента отображается в поле списка. При необходимости смены выбранного элемента пользователь щелкает мышью по кнопке со стрелкой в правой части элемента управления и выбирает новое значение из раскрывшегося списка.

Вы можете также связать этот элемент управления с переменной или параметром типа String, double или int. При этом выбор того или иного значения в списке будет присваивать выбранное значение связанной со списком переменной/параметру.

Если вы сделаете выпадающий список редактируемым, то пользователь сможет добавлять новые значения в список в дополнение к уже имеющимся, вводя их имена прямо в поле элемента управления.

Если вы хотите предоставить пользователю возможность одновременного выбора сразу нескольких опций, используйте другой элемент управления — список.

Чтобы понять принцип работы с выпадающим списком, вы можете изучить приведенный ниже пример модели. При выборе того или иного значения в списке будут выполняться определенные строки кода, меняющие скорость выполнения модели (код находится в секции свойств Действие выпадающего списка). Демо-модель: Combo Box Controls Simulation Speed Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.

Чтобы добавить выпадающий список

  1. Перетащите элемент Выпадающий список из палитры Элементы управления в то место графического редактора, где вы хотите его нарисовать.
  2. Перейдите в панель Свойства.
  3. Если вы хотите связать выпадающий список с переменной или параметром (то есть, присваивать этой переменной имя выбранного в текущий момент элемента списка), установите флажок Связать с и введите имя соответствующей переменной или параметра в расположенном справа поле.
  4. Если же вы хотите, чтобы при выборе пользователем в списке другого значения производилось какое-то другое, более сложное действие, введите код, который вы хотели бы выполнять в таком случае, в секции Действие (имя выбранного в данный момент времени элемента доступно здесь как value (локальная переменная типа String)).

Свойства

Основные

Имя — Имя выпадающего списка. Имя используется для идентификации элемента и доступа к нему из кода.

Исключить — Если опция выбрана, то выпадающий список будет исключен из модели.

Отображается на верхнем агенте — Если опция выбрана, то выпадающий список будет виден на презентации типа агента, в который будет вложен данный агент.

Редактируемый — Если опция выбрана, то во время выполнения модели пользователь сможет добавлять новые значения в список в дополнение к уже имеющимся.

Элементы — Здесь вы задаете элементы, которые появятся в выпадающем списке. В строках таблицы задаются имена элементов. Чтобы удалить запись из таблицы, выберите соответствующую строку и щелкните по кнопке . Поскольку порядок отображения записей важен, вы можете изменять его с помощью кнопок и , расположенных под таблицей.

Связать с — Если вы хотите связать список с переменной или параметром типа String (то есть, присваивать этой переменной имя выбранного в текущий момент элемента списка), установите этот флажок и введите имя соответствующей переменной или параметра в расположенном справа поле.

Значение по умолчанию — [Видно, если не установлен флажок Связать с] Выражение, возвращающее значение типа String — имя элемента, который будет выбран в выпадающем списке по умолчанию. Например, вы задали Элементы Первый Вариант и Второй Вариант. Чтобы сделать Второй Вариант выбранным по умолчанию, напишите здесь его имя в кавычках: "Второй Вариант".

Доступность — Логическое выражение, определяющее, доступен ли элемент управления или нет.

Действие

Код, который будет выполняться при смене элемента, выбранного в выпадающем списке. Имя выбранного в данный момент времени элемента доступно здесь как value (локальная переменная типа String).

Внешний вид

Цвет фона — Задает цвет фона выпадающего списка. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета. Цвет фона корректно отображается в операционной системе Windows с классическим оформлением. В то же время некоторые операционные системы не поддерживают такие элементы управления с измененным пользователем цветом фона.

Цвет текста — Задает цвет текста, отображаемого в выпадающем списке. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета.

Шрифт — Задает тип шрифта текста, отображаемого в выпадающем списке. В расположенном справа поле вы можете выбрать размер шрифта.

Курсив — Если опция выбрана, то текст будет выделен курсивом.

Полужирный — Если опция выбрана, то текст будет выделен полужирным шрифтом.

Местоположение и размер

Уровень — Уровень, на котором расположен этот элемент.

X — X-координата верхнего левого угла выпадающего списка.

Y — Y-координата верхнего левого угла выпадающего списка.

Ширина — Ширина выпадающего списка (в пикселях).

Высота — Высота выпадающего списка (в пикселях).

Специфические

Видимость — Элемент будет виден, если заданное здесь выражение будет истинно (true), в противном случае он отображаться не будет.

Количество — Количество экземпляров данного элемента управления. Если вы оставите это поле пустым, то будет создан только один такой элемент управления.

Отображать имя — Если опция выбрана, то имя элемента будет отображаться в графическом редакторе.

Значок — Если опция выбрана, то выпадающий список будет считаться частью значка типа агентов.

Функции

Получение выбранного значения
Функция Описание
String getValue() Возвращает выбранную в данный момент строку.
int getIntValue() Возвращает текущее значение типа int выпадающего списка. Если текущее значение не является числом, то функция выдает ошибку.
double getDoubleValue() Возвращает текущее значение типа double выпадающего списка. Если текущее значение не является числом, то функция выдает ошибку.
int getValueIndex() Возвращает индекс выбранной в данный момент строки или -1, если это редактируемый выпадающий список, не содержащий введенного значения.
Задание нового выбранного значения
Функция Описание
void setValue(double value) Задает новое численное значение (если выпадающий список связан с параметром/переменной типа int или double). При этом заданное пользователем действие не выполняется.

value — новое значение (типа double или int)
void setValue(double value, boolean callAction) Задает новое численное значение (если выпадающий список связан с параметром/переменной типа int или double). При этом если значение аргумента функции callAction равно true, то выполнится заданное пользователем действие.

value — новое значение (типа double или int)
callAction — если true, то будет выполнено заданное пользователем действие
void setValue(String text) Задает выделенную строку выпадающего списка. При этом заданное пользователем действие не выполняется.

text — новая выбранная строка
void setValue(String text, boolean callAction) Задает выделенную строку выпадающего списка. При этом если значение аргумента функции callAction равно true, то выполнится заданное пользователем действие. Если значение принадлежит к численному типу, а данный текст не представляет собой число, ничего не изменится.

text — новая выбранная строка
callAction — если true, то будет выполнено заданное пользователем действие
void setValueIndex(int valueIndex) Выбирает строку с заданным индексом. При этом заданное пользователем действие не выполняется.

valueIndex — индекс строки
void setValueIndex(int valueIndex, boolean callAction) Выбирает строку с заданным индексом. При этом если значение аргумента функции callAction равно true, то выполнится заданное пользователем действие.

valueIndex — индекс строки
callAction — если true, то будет выполнено заданное пользователем действие
void setValueToDefault() Устанавливает заданный по умолчанию текст в качестве текущего значения выпадающего списка. При этом заданное пользователем действие не выполняется.
Управление доступом
Функция Описание
boolean isEnabled() Проверяет, доступен ли элемент управления в текущий момент времени. Возвращает true, если элемент доступен (и вы можете менять его состояние), либо же false, если элемент недоступен.
void setEnabled(boolean yes) Делает элемент управления активным или недоступным (в зависимости от значения аргумента функции).

yes — если true, то элемент управления будет активен; если false  — то недоступен.
Программное выполнение заданного действия
Функция Описание
void action() Выполняет действие, заданное пользователем для этого элемента управления (в его свойстве Действие).
Доступ к строкам выпадающего списка
Функция Описание
String[] getItems() Возвращает массив из строк, используемых в данный момент в выпадающем списке.
Возвращаемый массив не должен изменяться пользователем.
Добавление новых строк в выпадающий список
Функция Описание
void setItems(String[] items) Задает новые строки для данного выпадающего списка. Эта функция сохраняет текущее значение выпадающего списка:
если он может быть отредактирован
если он не может быть отредактирован, но текущее значение хранится в новых строках
При этом действие, заданное пользователем, не выполняется (даже если текущее выделение поменяется). Если данный выпадающий список имеет численное значение (типы double или int), а некоторые строки не могут быть распознаны как числа, функция выдает ошибку.

items — массив из строк для помещения в выпадающий список
void setItems(String[] items, boolean callAction) Задает новые строки для данного выпадающего списка. Эта функция сохраняет текущее значение выпадающего списка:
если он может быть отредактирован
если он не может быть отредактирован, но текущее значение хранится в новых строках
items — массив из строк для помещения в выпадающий список
callAction — если true и выбор изменяется, то действие, заданное пользователем, будет выполнено

Местоположение
Функция Описание
double getX() Возвращает координату X элемента управления (если точнее, то координату X его верхнего левого угла).
double getY() Возвращает координату Y элемента управления (если точнее, то координату Y его верхнего левого угла).
void setX(double x) Задает новую координату X выпадающего списка.

x — новое значение координаты X
void setY(double y) Задает новую координату Y выпадающего списка.

y — новое значение координаты Y
void setPos(double x, double y) Задает новое местоположение элемента управления.

x — новое значение координаты X
y — новое значение координаты Y
Видимость
Функция Описание
boolean isVisible() Возвращает видимость элемента управления. Если возвращает true, то элемент управления виден; если false — то нет.
void setVisible(boolean v) Задает видимость элемента управления.

v — видимость: если true, то элемент управления будет виден, если false — то нет.
Группа
Функция Описание
ShapeGroup getGroup() Возвращает группу, содержащую этот элемент управления.
Уровень
Функция Описание
Level getLevel() Возвращает уровень, на котором находится этот элемент управления.
Как мы можем улучшить эту статью?