Состояние представляет собой местонахождение управления диаграммы состояний. Вы можете задать действия, которые должны быть выполнены при происхождении определенных событий и/или выполнении некоторых условий. Состояние может быть как простым, так и сложным (если оно содержит в себе другие состояния). Управление всегда принадлежит одному из простых состояний, а текущий набор действий включает в себя действия как текущего простого состояния, так и действия всех сложных состояний, содержащих это простое — то есть, может сработать переход, выходящий из любого из этих состояний.
Чтобы нарисовать состояние
- Перетащите элемент Состояние из палитры Диаграмма состояний в то место графического редактора, где вы хотите его нарисовать.
- Если же вы хотите сразу создавать состояние нужного вам размера (что особенно часто требуется при рисовании сложных состояний), то используйте режим рисования. Чтобы перейти в этот режим, сделайте двойной щелчок мышью по элементу Состояние в палитре (при этом его значок должен поменяться на этот: ). Затем щелкните левой кнопкой мыши в том месте диаграммы, где вы хотите нарисовать состояние, и передвиньте ее, не отпуская кнопки, пока контур создаваемого состояния не примет желаемый размер, после чего отпустите кнопку мыши.
- Свойства
-
Имя — Имя состояния. Имя используется для идентификации состояния и доступа к нему из кода.
Отображать имя — Если опция выбрана, то имя состояния будет отображаться в графическом редакторе.
Исключить — Если опция выбрана, то состояние будет исключено из модели.
Цвет заливки — Задает цвет заливки состояния. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета. Если вы не хотите, чтобы состояние было закрашено, выберите Нет заливки.
Действие при входе — Код, выполняемый, когда управление переходит в это состояние (состояние становится активным).
Действие при выходе — Код, выполняемый, когда управление покидает это состояние (состояние перестает быть активным).
- Функции
-
Функция Описание T getContainerState() Возвращает сложное состояние, в котором находится текущее состояние. Если данное состояние находится на высшем уровне, и не входит в состав сложных состояний, то функция возвращает null. Set<T> getFullState() Возвращает неупорядоченный набор, содержащий это состояние и все сложные состояния (если такие имеются), содержащие это состояние. Statechart<T> getStatechart( Agent agent ) Возвращает диаграмму состояний заданного агента agent, которому принадлежит данное состояние. Возвращает null, если у агента нет диаграммы состояния с данным состоянием. Set<T> getStatesInside() Возвращает неупорядоченный набор всех состояний (простых и сложных), содержащихся внутри данного состояния. boolean isSimpleState() Возвращает true, если это состояние является простым; возвращает false, если оно является сложным.
-
Как мы можем улучшить эту статью?
-