- 类型参数:
-
V
-JLayer
的视图组件的超类型之一
- 所有实现的接口:
-
Serializable
JLayer
的UI代理的基类。
paint(java.awt.Graphics, javax.swing.JComponent)
方法执行 JLayer
的绘制,eventDispatched(AWTEvent, JLayer)
方法通知任何由 JLayer
或其子组件生成的 AWTEvent
。
LayerUI
与其他组件的UI代理不同,因为它与外观无关,并且在系统外观更改时不会默认更新。
LayerUI
的子类可以是无状态的,可以被多个 JLayer
共享,也可以是不可共享的。
- 自版本:
- 1.7
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
向监听器列表中添加一个 PropertyChangeListener。void
addPropertyChangeListener
(String propertyName, PropertyChangeListener listener) 向特定属性的监听器列表中添加一个 PropertyChangeListener。void
applyPropertyChange
(PropertyChangeEvent evt, JLayer<? extends V> l) 当其任何属性发生更改时通知LayerUI
,并启用更新此LayerUI
实例所设置的每个JLayer
。void
使传递的JLayer
实例布局其组件。void
eventDispatched
(AWTEvent e, JLayer<? extends V> l) 处理JLayer
及其所有后代的AWTEvent
到此LayerUI
实例。protected void
firePropertyChange
(String propertyName, Object oldValue, Object newValue) 支持报告对象属性的绑定属性更改。int
getBaseline
(JComponent c, int width, int height) 如果JLayer
的视图组件不为null
,则调用视图的getBaseline()
方法。如果JLayer
的视图组件不为null
,则返回视图的getBaselineResizeBehavior()
方法的结果。如果JLayer
的视图组件不为null
,则返回视图的getMaximumSize()
方法的结果。如果JLayer
的视图组件不为null
,则返回视图的getMinimalSize()
方法的结果。如果JLayer
的视图组件不为null
,则返回视图的getPreferredSize()
方法的结果。返回在此组件上注册的所有属性更改监听器的数组。getPropertyChangeListeners
(String propertyName) 返回已与指定名称关联的所有监听器的数组。boolean
imageUpdate
(Image img, int infoflags, int x, int y, int w, int h, JLayer<? extends V> l) 将其功能委托给从JLayer
的基类继承的JLayer.imageUpdate
方法的默认实现。void
配置此LayerUI
所设置的JLayer
。void
paint
(Graphics g, JComponent c) 绘制指定的组件。void
paintImmediately
(int x, int y, int width, int height, JLayer<? extends V> l) 在此LayerUI
所设置的JLayer
中立即绘制指定的区域。protected void
processComponentEvent
(ComponentEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的组件事件。protected void
processFocusEvent
(FocusEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的焦点事件。protected void
processHierarchyBoundsEvent
(HierarchyEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的层次边界事件。protected void
processHierarchyEvent
(HierarchyEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的层次事件。protected void
processInputMethodEvent
(InputMethodEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的输入事件。protected void
processKeyEvent
(KeyEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的键盘事件。protected void
processMouseEvent
(MouseEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的鼠标事件。protected void
processMouseMotionEvent
(MouseEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的鼠标移动事件。protected void
processMouseWheelEvent
(MouseWheelEvent e, JLayer<? extends V> l) 处理发生在JLayer
或其任何子组件上的鼠标滚轮事件。void
从监听器列表中移除一个 PropertyChangeListener。void
removePropertyChangeListener
(String propertyName, PropertyChangeListener listener) 从特定属性的监听器列表中移除一个PropertyChangeListener
。void
反转先前在installUI(JComponent)
方法中设置的配置。void
Methods declared in class javax.swing.plaf.ComponentUI
contains, createUI, getAccessibleChild, getAccessibleChildrenCount, update
-
Constructor Details
-
LayerUI
public LayerUI()构造一个LayerUI
。
-
-
Method Details
-
paint
绘制指定的组件。子类应重写此方法并使用指定的Graphics
对象来渲染组件的内容。默认实现按原样绘制传递的组件。
- 覆盖:
-
paint
在类ComponentUI
中 - 参数:
-
g
- 绘制的Graphics
上下文 -
c
- 正在绘制的组件 - 参见:
-
eventDispatched
处理JLayer
及其所有后代的AWTEvent
到此LayerUI
实例。要启用特定类型的
AWTEvent
,您在installUI(javax.swing.JComponent)
中调用JLayer.setLayerEventMask(long)
,然后在uninstallUI(javax.swing.JComponent)
中将层事件掩码设置为0
。默认情况下,此方法调用给定事件类的适当process<event
type>Event
方法。注意: 仅对可显示的
JLayer
处理事件。- 参数:
-
e
- 要分派的事件 -
l
- 设置此 LayerUI 的层 - 参见:
-
processComponentEvent
处理发生在JLayer
或其任何子组件上的组件事件。除非为此
LayerUI
设置的JLayer
对象启用了组件事件,否则不会调用此方法。组件事件在覆盖的installUI(javax.swing.JComponent)
方法中启用,之后应在uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.COMPONENT_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的ComponentEvent
-
l
- 设置此LayerUI
实例的层 - 参见:
-
processFocusEvent
处理发生在JLayer
或其任何子组件上的焦点事件。除非为
JLayer
对象启用了焦点事件,否则不会调用此方法,而是将其设置为LayerUI
。焦点事件在重写的installUI(javax.swing.JComponent)
方法中启用,并应在之后的uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.FOCUS_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的FocusEvent
-
l
- 设置为此LayerUI
实例的层 - 参见:
-
processKeyEvent
处理发生在JLayer
或其任何子组件上的键盘事件。除非为
JLayer
对象启用了键盘事件,否则不会调用此方法,而是将其设置为LayerUI
。键盘事件在重写的installUI(javax.swing.JComponent)
方法中启用,并应在之后的uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.KEY_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的KeyEvent
-
l
- 设置为此LayerUI
实例的层 - 参见:
-
processMouseEvent
处理发生在JLayer
或其任何子组件上的鼠标事件。除非为
JLayer
对象启用了鼠标事件,否则不会调用此方法,而是将其设置为LayerUI
。鼠标事件在重写的installUI(javax.swing.JComponent)
方法中启用,并应在之后的uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.MOUSE_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的MouseEvent
-
l
- 设置为此LayerUI
实例的层 - 参见:
-
processMouseMotionEvent
处理发生在JLayer
或其任何子组件上的鼠标移动事件。除非为
JLayer
对象启用了鼠标移动事件,否则不会调用此方法,而是将其设置为LayerUI
。鼠标移动事件在重写的installUI(javax.swing.JComponent)
方法中启用,并应在之后的uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.MOUSE_MOTION_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的MouseEvent
-
l
- 设置为此LayerUI
实例的层 - 参见:
-
processMouseWheelEvent
处理发生在JLayer
或其任何子组件上的鼠标滚轮事件。除非为
JLayer
对象启用了鼠标滚轮事件,否则不会调用此方法,而是将其设置为LayerUI
。鼠标滚轮事件在重写的installUI(javax.swing.JComponent)
方法中启用,并应在之后的uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.MOUSE_WHEEL_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的MouseEvent
-
l
- 设置为此LayerUI
实例的层 - 参见:
-
processInputMethodEvent
处理发生在JLayer
或其任何子组件上的输入事件。除非为
JLayer
对象启用了输入事件,否则不会调用此方法,而是将其设置为LayerUI
。输入事件在重写的installUI(javax.swing.JComponent)
方法中启用,并应在之后的uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.INPUT_METHOD_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的InputMethodEvent
-
l
- 设置为此LayerUI
实例的层 - 参见:
-
processHierarchyEvent
处理发生在JLayer
或其任何子组件上的层次结构事件。除非为
JLayer
对象启用了层次结构事件,否则不会调用此方法,而是将其设置为LayerUI
。层次结构事件在重写的installUI(javax.swing.JComponent)
方法中启用,并应在之后的uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.HIERARCHY_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的HierarchyEvent
-
l
- 设置为此LayerUI
实例的层 - 参见:
-
processHierarchyBoundsEvent
处理发生在JLayer
或其任何子组件上的层次结构边界事件。除非为
JLayer
对象启用了层次结构边界事件,否则不会调用此方法,而是将其设置为LayerUI
。层次结构边界事件在重写的installUI(javax.swing.JComponent)
方法中启用,并应在之后的uninstallUI(javax.swing.JComponent)
方法中禁用。public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }
- 参数:
-
e
- 要处理的HierarchyEvent
-
l
- 此LayerUI
实例设置的层 - 参见:
-
updateUI
- 参数:
-
l
- 更新UI的JLayer
-
installUI
配置此LayerUI
设置的JLayer
。默认实现将传递的JLayer
组件注册为此LayerUI
的属性更改的PropertyChangeListener
。- 覆盖:
-
installUI
在类ComponentUI
- 参数:
-
c
- 安装此UI委托的JLayer
组件 - 参见:
-
uninstallUI
- 覆盖:
-
uninstallUI
在类ComponentUI
- 参数:
-
c
- 此UI委托正在被移除的组件。 - 参见:
-
addPropertyChangeListener
向监听器列表中添加一个PropertyChangeListener。该监听器将为此类的所有绑定属性注册。如果
listener
为null
,则不会抛出异常,也不会执行任何操作。- 参数:
-
listener
- 要添加的属性更改监听器 - 参见:
-
removePropertyChangeListener
从监听器列表中移除一个PropertyChangeListener。应使用此方法来移除为此类的所有绑定属性注册的PropertyChangeListeners。如果
listener
为null
,则不会抛出异常,也不会执行任何操作。- 参数:
-
listener
- 要移除的PropertyChangeListener - 参见:
-
getPropertyChangeListeners
返回在此组件上注册的所有属性更改监听器的数组。- 返回:
-
所有此UI的
PropertyChangeListener
或如果当前未注册任何属性更改监听器,则返回一个空数组 - 参见:
-
addPropertyChangeListener
向特定属性的监听器列表中添加一个PropertyChangeListener。如果
propertyName
或listener
为null
,则不会抛出异常,也不会执行任何操作。- 参数:
-
propertyName
- 上面列出的属性名称之一 -
listener
- 要添加的属性更改监听器 - 参见:
-
removePropertyChangeListener
从特定属性的监听器列表中移除一个PropertyChangeListener
。应使用此方法来移除为特定绑定属性注册的PropertyChangeListener
。如果
propertyName
或listener
为null
,则不会抛出异常,也不会执行任何操作。- 参数:
-
propertyName
- 有效的属性名称 -
listener
- 要移除的PropertyChangeListener - 参见:
-
getPropertyChangeListeners
返回与指定属性关联的所有监听器数组。- 参数:
-
propertyName
- 正在监听的属性的名称 - 返回:
-
与指定属性关联的所有
PropertyChangeListener
;如果尚未添加此类监听器或propertyName
为null
,则返回一个空数组 - 参见:
-
firePropertyChange
支持为对象属性报告绑定属性更改。当绑定属性发生更改时,可以调用此方法,并将适当的PropertyChangeEvent发送给任何已注册的PropertyChangeListeners。- 参数:
-
propertyName
- 已更改值的属性 -
oldValue
- 属性的先前值 -
newValue
- 属性的新值
-
applyPropertyChange
当更改任何属性时通知LayerUI
,并启用更新此LayerUI
实例设置的每个JLayer
。- 参数:
-
evt
- 此LayerUI
生成的PropertyChangeEvent -
l
- 设置此LayerUI的JLayer
-
getBaseline
如果JLayer
的视图组件不为null
,则调用视图的getBaseline()
方法。否则,将调用默认实现。- 覆盖:
-
getBaseline
在类ComponentUI
- 参数:
-
c
- 要返回基线调整行为的JLayer
-
width
- 要获取基线的宽度 -
height
- 要获取基线的高度 - 返回:
- 基线或值< 0表示没有合理的基线
- 参见:
-
getBaselineResizeBehavior
如果JLayer
的视图组件不为null
,则返回视图的getBaselineResizeBehavior()
方法的结果。否则,将调用默认实现。- 覆盖:
-
getBaselineResizeBehavior
在类ComponentUI
- 参数:
-
c
- 要返回基线调整行为的JLayer
- 返回:
- 枚举,指示随着组件大小更改基线的方式
- 参见:
-
doLayout
导致传递的JLayer
实例布局其组件。- 参数:
-
l
- 正在安装此UI代理的JLayer
组件
-
getPreferredSize
如果JLayer
的视图组件不为null
,则返回视图的getPreferredSize()
方法的结果。否则,使用默认实现。- 覆盖:
-
getPreferredSize
在类ComponentUI
- 参数:
-
c
- 要返回首选大小的JLayer
- 返回:
-
传递的
JLayer
的首选大小 - 参见:
-
getMinimumSize
如果JLayer
的视图组件不为null
,则返回视图的getMinimalSize()
方法的结果。否则,使用默认实现。- 覆盖:
-
getMinimumSize
在类ComponentUI
- 参数:
-
c
- 要返回首选大小的JLayer
- 返回:
-
传递的
JLayer
的最小大小 - 参见:
-
getMaximumSize
如果JLayer
的视图组件不为null
,则返回视图的getMaximumSize()
方法的结果。否则,使用默认实现。- 覆盖:
-
getMaximumSize
在类ComponentUI
- 参数:
-
c
- 要返回首选大小的JLayer
- 返回:
-
传递的
JLayer
的最大大小 - 参见:
-
paintImmediately
立即在设置了此LayerUI
的JLayer
中绘制指定区域。当需要更改脏区域时,应重写此方法。默认实现将其功能委托给
JComponent.paintImmediately(int, int, int, int)
。- 参数:
-
x
- 要绘制的区域的 x 值 -
y
- 要绘制的区域的 y 值 -
width
- 要绘制的区域的宽度 -
height
- 要绘制的区域的高度 -
l
- 一个JLayer
组件 - 参见:
-
imageUpdate
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h, JLayer<? extends V> l) 将其功能委托给从JLayer
的基类继承的JLayer.imageUpdate
方法的默认实现。应该重写此方法,而不是
JLayer.imageUpdate
。注意: 通常在事件分派线程上 不 调用此方法。
- 参数:
-
img
- 被观察的图像 -
infoflags
- 有关信息的 imageUpdate 信息 -
x
- x 坐标 -
y
- y 坐标 -
w
- 宽度 -
h
- 高度 -
l
- 一个JLayer
组件 - 返回:
- 如果 infoflags 指示图像已完全加载,则返回 false;否则返回 true
-