Список


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

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

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

Свойства

Основные

Имя – Имя списка. Имя используется для идентификации элемента и доступа к нему из кода.

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

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

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

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

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

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

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

Действие

Код, который будет выполняться при выборе другого элемента (элементов). Имя выбранного в данный момент времени элемента доступно здесь как value (локальная переменная типа String). Если у списка разрешен Выбор нескольких элементов, то переменная value будет хранить первый выбранный элемент, а переменная values - массив String[], содержащий имена всех выбранных элементов.

Внешний вид

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

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

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

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

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

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

X – X-координата верхнего левого угла списка.

Y – Y-координата верхнего левого угла списка.

Ширина – Ширина списка (в пикселах).

Высота – Высота списка (в пикселах).

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

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

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

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

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

Функции

Получение выбранного значения (значений)

Функция

Описание

String getValue()

В режиме списка с возможностью единственного выбора возвращает выбранную в данный момент строку. 

В режиме списка со множественным выбором возвращает первую выбранную строку.

Если ни одна строка не выбрана, возвращает null

int getValueIndex()

Возвращает индекс выбранной строки или -1, если ни одна строка не выбрана.

В режиме списка со множественным выбором возвращает первую выбранную строку.

String[] getValues()

Возвращает массив из выбранных строк (для использования в режиме со множественным выбором).

Если ни одна строка не выбрана, возвращает пустой массив.

int[] getValuesIndices()

Возвращает массив из индексов выбранных строк (для использования в режиме со множественным выбором).

Если ни одна строка не выбрана, возвращает пустой массив.

Задание нового выбранного значения (значений)

Функция

Описание

void setValue
(String text)

Выделяет строку списка.
Сбрасывает выделение, если аргумент text  равен null
При этом заданное пользователем действие не выполняется. 

Параметр:
text - новая выбранная строка или null

void setValue
(String text,
boolean callAction)

Выделяет строку списка.

Сбрасывает выделение, если аргумент text  равен null
При этом если значение аргумента функции callAction равно true, то выполнится заданное пользователем действие. 

Параметры:
text - новая выбранная строка
callAction - если true, то будет выполнено заданное пользователем действие

void setValueIndex
(int valueIndex)

Выбирает строку с данным индексом.
Сбрасывает выделение, если valueIndex <0.
При этом заданное пользователем действие не выполняется.

Параметр:
valueIndex - индекс строки

void setValueIndex
(int valueIndex,
boolean callAction)

Выбирает строку с данным индексом.
Сбрасывает выделение, если valueIndex <0.

При этом если значение аргумента функции callAction равно true, то выполнится заданное пользователем действие.

Параметры:
valueIndex - индекс строки
callAction - если true, то будет выполнено заданное пользователем действие

void setValues
(String[] texts)

Задает выбранные строки списка (в режиме множественного выбора).

Сбрасывает выделение, если массив texts равен null или пуст.

При этом заданное пользователем действие не выполняется.

Параметр:
texts - новые выбранные строки или null

void setValues
(String[] texts,
boolean callAction)

Задает выбранные строки списка (в режиме множественного выбора).

Сбрасывает выделение, если массив texts равен null или пуст.

При этом если значение аргумента функции callAction равно true, то выполнится заданное пользователем действие.

Параметры:
texts - новые выбранные строки или null
callActiontrue, то будет выполнено заданное пользователем действие

void setValuesIndices
(int[] valuesIndices)

Выбирает строки с заданными индексами (в режиме множественного выбора).

Сбрасывает выделение, если параметр valuesIndices равен null или пуст.

При этом заданное пользователем действие не выполняется.

Параметр:
valuesIndices - индексы строк

void setValuesIndices
(int[] valuesIndices,
boolean callAction)

Выбирает строки с заданными индексами (в режиме множественного выбора).

Сбрасывает выделение, если массив valuesIndices равен null или пуст.

При этом если значение аргумента функции callAction равно true, то выполнится заданное пользователем действие.

Параметры:
valuesIndices - индексы строк
callAction - если true, то будет выполнено заданное пользователем действие

void setValueToDefault()

Устанавливает заданный по умолчанию текст в качестве текущего значения списка.

При этом заданное пользователем действие не выполняется.

Управление доступом

Функция

Описание

boolean isEnabled()

Проверяет, доступен ли элемент управления в текущий момент времени. Возвращает true, если элемент доступен (и вы можете менять его состояние), либо же false, если элемент недоступен.

void setEnabled
(boolean yes)

Делает элемент управления активным или недоступным (в зависимости от значения аргумента функции).

Параметр:
yes - если true, то элемент управления будет активен; если false - то недоступен. 

Программное выполнение заданного действия

Функция

Описание

void action()

Выполняет действие, заданное пользователем для этого элемента управления (в его свойстве Действие).

Доступ к строкам списка

Функция

Описание

String[] getItems()

Возвращает массив из строк, используемых в данный момент в списке.

Отметим, что возвращаемый массив является тем же, что был передан функции setItems(String[]), и может иметь значение null.

Возвращаемый массив не должен изменяться пользователем.

Добавление новых строк в список

Функция

Описание

void setItems
(String[] items)

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

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

Параметр:
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 - то нет.

 

См. также

 Справочник классов: Класс ShapeListBox