- 类型参数:
-
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid向监听器列表中添加一个 PropertyChangeListener。voidaddPropertyChangeListener(String propertyName, PropertyChangeListener listener) 向特定属性的监听器列表中添加一个 PropertyChangeListener。voidapplyPropertyChange(PropertyChangeEvent evt, JLayer<? extends V> l) 当其任何属性发生更改时通知LayerUI,并启用更新此LayerUI实例所设置的每个JLayer。void使传递的JLayer实例布局其组件。voideventDispatched(AWTEvent e, JLayer<? extends V> l) 处理JLayer及其所有后代的AWTEvent到此LayerUI实例。protected voidfirePropertyChange(String propertyName, Object oldValue, Object newValue) 支持报告对象属性的绑定属性更改。intgetBaseline(JComponent c, int width, int height) 如果JLayer的视图组件不为null,则调用视图的getBaseline()方法。如果JLayer的视图组件不为null,则返回视图的getBaselineResizeBehavior()方法的结果。如果JLayer的视图组件不为null,则返回视图的getMaximumSize()方法的结果。如果JLayer的视图组件不为null,则返回视图的getMinimalSize()方法的结果。如果JLayer的视图组件不为null,则返回视图的getPreferredSize()方法的结果。返回在此组件上注册的所有属性更改监听器的数组。getPropertyChangeListeners(String propertyName) 返回已与指定名称关联的所有监听器的数组。booleanimageUpdate(Image img, int infoflags, int x, int y, int w, int h, JLayer<? extends V> l) 将其功能委托给从JLayer的基类继承的JLayer.imageUpdate方法的默认实现。void配置此LayerUI所设置的JLayer。voidpaint(Graphics g, JComponent c) 绘制指定的组件。voidpaintImmediately(int x, int y, int width, int height, JLayer<? extends V> l) 在此LayerUI所设置的JLayer中立即绘制指定的区域。protected voidprocessComponentEvent(ComponentEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的组件事件。protected voidprocessFocusEvent(FocusEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的焦点事件。protected voidprocessHierarchyBoundsEvent(HierarchyEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的层次边界事件。protected voidprocessHierarchyEvent(HierarchyEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的层次事件。protected voidprocessInputMethodEvent(InputMethodEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的输入事件。protected voidprocessKeyEvent(KeyEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的键盘事件。protected voidprocessMouseEvent(MouseEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的鼠标事件。protected voidprocessMouseMotionEvent(MouseEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的鼠标移动事件。protected voidprocessMouseWheelEvent(MouseWheelEvent e, JLayer<? extends V> l) 处理发生在JLayer或其任何子组件上的鼠标滚轮事件。void从监听器列表中移除一个 PropertyChangeListener。voidremovePropertyChangeListener(String propertyName, PropertyChangeListener listener) 从特定属性的监听器列表中移除一个PropertyChangeListener。void反转先前在installUI(JComponent)方法中设置的配置。voidMethods 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<eventtype>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
-