public class ComponentView extends View
Компонент помещается относительно текстовой базовой линии согласно значению, возвращенному Component.getAlignmentY
. Для компонентов Swing это значение может быть удобно установлено, используя метод JComponent.setAlignmentY
. Например, устанавливая значение 0.75
заставит 75 процентов компонента быть выше базовой линии, и 25 процентов компонента, чтобы быть ниже базовой линии.
Этот class реализуется, чтобы сделать дополнительную работу, необходимую, чтобы работать должным образом в присутствии многократных потоков (то есть из асинхронного уведомления об изменениях модели например), гарантируя, что весь компонентный доступ делается на потоке события.
Используемый компонент определяется возвращаемым значением createComponent метода. Реализация по умолчанию этого метода должна возвратить компонент, сохраненный как атрибут элемента (вызывая StyleConstants.getComponent). Ограничение этого поведения - то, что компонент не может использоваться больше чем одним текстовым компонентом (то есть с совместно используемой моделью). Подклассы могут удалить это ограничение, реализовывая createComponent, чтобы фактически создать компонентно-ориентированное на некоторую спецификацию, содержавшуюся в атрибутах. class ObjectView в пакете html является примером реализации ComponentView, которая поддерживает многократные компонентные представления совместно используемой модели.
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Конструктор и Описание |
---|
ComponentView(Element elem)
Создает новый объект ComponentView.
|
Модификатор и Тип | Метод и Описание |
---|---|
protected Component |
createComponent()
Создайте компонент, который связывается с этим представлением.
|
float |
getAlignment(int axis)
Определяет требуемое выравнивание для этого представления вдоль оси.
|
Компонент |
getComponent()
Выберите компонент, связанный с представлением.
|
float |
getMaximumSpan(int axis)
Определяет максимальный промежуток для этого представления вдоль оси.
|
float |
getMinimumSpan(int axis)
Определяет минимальный промежуток для этого представления вдоль оси.
|
float |
getPreferredSpan(int axis)
Определяет привилегированный промежуток для этого представления вдоль оси.
|
Форма |
modelToView(int pos, Shape a, Position.Bias b)
Обеспечивает отображение от координатного пространства модели к тому из представления.
|
void |
paint(Graphics g, Shape a)
Реальное поведение краски происходит естественно от ассоциации, которую компонент имеет с его родительским контейнером (тот же самый контейнер, размещающий это представление).
|
void |
setParent(View p)
Устанавливает родителя для дочернего представления.
|
int |
viewToModel(float x, float y, Shape a, Position.Bias[] bias)
Обеспечивает отображение от координатного пространства представления до логического координатного пространства модели.
|
append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, setSize, updateChildren, updateLayout, viewToModel
public ComponentView(Element elem)
elem
- элемент, чтобы украситьprotected Component createComponent()
public final Component getComponent()
public void paint(Graphics g, Shape a)
paint
в class View
g
- графический контекстa
- формаView.paint(java.awt.Graphics, java.awt.Shape)
public float getPreferredSpan(int axis)
getPreferredSpan
в class View
axis
- может быть любой Представление. X_AXIS или Представление. Y_AXISIllegalArgumentException
- для недопустимой осиView.getPreferredSpan(int)
public float getMinimumSpan(int axis)
getMinimumSpan
в class View
axis
- может быть любой Представление. X_AXIS или Представление. Y_AXISIllegalArgumentException
- для недопустимой осиView.getPreferredSpan(int)
public float getMaximumSpan(int axis)
getMaximumSpan
в class View
axis
- может быть любой Представление. X_AXIS или Представление. Y_AXISIllegalArgumentException
- для недопустимой осиView.getPreferredSpan(int)
public float getAlignment(int axis)
getAlignment
в class View
axis
- может быть любой Представление. X_AXIS или Представление. Y_AXISpublic void setParent(View p)
getContainer
. Если родительский параметр представления является нулем, это представление очищается, таким образом компонент удаляется из его родителя. Изменение иерархии компонентов коснется компонентной блокировки, которая является одной вещью, которая не безопасна от иерархии Представления. Поэтому, эта функциональность сразу выполняется, если на потоке события, или ставится в очередь на очереди событий если вызвано от другого потока (уведомление об изменении от асинхронного обновления).
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
modelToView
в class View
pos
- позиция, чтобы преобразовать> = 0a
- выделенная область, чтобы представить вb
- смещение к предыдущему символу или следующему символу, представленному смещением, в случае, если позиция является границей двух представлений; b
будет иметь одно из этих значений: Position.Bias.Forward
Position.Bias.Backward
BadLocationException
- если данная позиция не представляет допустимое расположение в ассоциированном документеView.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
viewToModel
в class View
x
- эти X координат> = 0y
- координата Y> = 0a
- выделенная область, чтобы представить вView.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92