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

Элемент выбора файла

Элемент управления, предоставляющий простой механизм навигации по файловой системе, с последующим выбором (или вводом имени) файла.

Элемент выбора файла может работать в двух режимах:

  • Загрузка. Позволяет пользователю перемещаться по файловой системе и выбирать требуемый файл. Загружает файл в папку модели. Когда файл загружен, выполняется действие, заданное в секции Действие. В коде, вводимом в поле секции Действие, можно обратиться к файлу, к примеру, чтобы прочитать вводные параметры модели.
  • Скачивание. Пользователь указывает имя файла. Во время воспроизведения модели элемент выбора файла ожидает появления файла с заданным именем в системе. Когда требуемый файл появится, элемент управления станет активным. Щелкнув элемент выбора файла, пользователь скачает файл.

Взгляните на эту простую демонстрационную модель, в которой Элемент выбора файла совмещен с объектом Текстовый файл так, чтобы можно было выбрать файл, например, с параметрами модели, еще до ее запуска.

Демо-модель: File Chooser For Text Files Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.

Чтобы добавить элемент выбора файла

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

Свойства

Основные

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

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

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

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

Заголовок — Заголовок диалогового окна.

Фильтры имен файлов — [Параметр виден, если в параметре Тип выбрана опция Загрузка] Здесь вы задаете фильтры имен файлов для элемента выбора файлов. Элемент выбора файлов позволит пользователям видеть и загружать только указанные типы файлов. Фильтр задается списком расширений файлов, к примеру: .png, .jpeg, .jpg.

Файл — [Параметр виден, если в параметре Тип выбрана опция Скачивание] Полное имя файла, который этот элемент управления должен скачать.

Действие

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

Внешний вид

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

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

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

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

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

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

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

X — X-координата верхнего левого угла элемента.

Y — Y-координата верхнего левого угла элемента.

Ширина — Ширина элемента (в пикселях).

Высота — Высота элемента (в пикселях).

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

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

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

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

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

Функции

Значение элемента выбора файла
Функция Описание
String getValue() Возвращает имя выбранного файла. Если ни один файл не выбран, возвращает пустую строку.
void setValue(String fileName) Устанавливает fileName в качестве имени выбранного файла.
При этом действие, заданное пользователем, не выполняется.

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

fileName — имя файла
callAction — если true, то будет выполнено заданное пользователем действие
void setValueToDefault() Устанавливает заданное по умолчанию имя файла в качестве текущего значения элемента выбора файла.
При этом заданное пользователем действие не выполняется.
Управление доступом
Функция Описание
boolean isEnabled() Проверяет, доступен ли элемент управления в текущий момент времени. Возвращает true, если элемент доступен (и вы можете менять его состояние), либо же false, если элемент недоступен.
void setEnabled(boolean yes) Делает элемент управления активным или недоступным (в зависимости от значения аргумента функции).
yes — если true, то элемент управления будет активен; если false — то недоступен.
Программное выполнение заданного действия
Функция Описание
void action() Выполняет действие, заданное пользователем для этого элемента управления (в его свойстве Действие).
Местоположение
Функция Описание
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
Размер
Функция Описание
double getWidth() Возвращает ширину элемента в пикселях.
double getHeight() Возвращает высоту элемента в пикселях.
void setWidth(double width) Устанавливает ширину элемента равной параметру width.
void setHeight(double height) Устанавливает высоту элемента равной параметру height.
Видимость
Функция Описание
boolean isVisible() Возвращает видимость элемента управления.
Если возвращает true, то элемент управления виден; если false — то нет.
void setVisible(boolean v) Задает видимость элемента управления.

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