- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.LayerUI<V>
-
- 参数类型
-
V-JLayer视图组件的超类型之一
- 实现的所有接口
-
Serializable
public class LayerUI<V extends Component> extends ComponentUI implements Serializable
所有JLayer的UI代表的基类。paint(java.awt.Graphics, javax.swing.JComponent)方法执行JLayer和eventDispatched(AWTEvent, JLayer)方法的绘制,该方法通知AWTEvent由JLayer或其任何子组件生成的任何JLayer。LayerUI与其他组件的UI委托不同,因为它与LookAndFeel无关,并且在更改系统LookAndFeel时默认情况下不会更新。LayerUI的子类可以是无状态的,也可以由多个JLayer共享或不可共享。- 从以下版本开始:
- 1.7
- 另请参见:
-
JLayer.setUI(LayerUI),JLayer.setView(Component),JLayer.getView(), Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 LayerUI()
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidaddPropertyChangeListener(PropertyChangeListener listener)将PropertyChangeListener添加到侦听器列表。voidaddPropertyChangeListener(String propertyName, PropertyChangeListener listener)将PropertyChangeListener添加到特定属性的侦听器列表中。voidapplyPropertyChange(PropertyChangeEvent evt, JLayer<? extends V> l)当LayerUI任何属性发生更改时通知LayerUI,并且允许将LayerUI实例设置为每JLayer更新一次。voiddoLayout(JLayer<? extends V> l)导致传递的JLayer实例布局其组件。voideventDispatched(AWTEvent e, JLayer<? extends V> l)处理AWTEvents为JLayer及其 所有后代到此LayerUI实例。protected voidfirePropertyChange(String propertyName, Object oldValue, Object newValue)支持报告对象属性的绑定属性更改。intgetBaseline(JComponent c, int width, int height)如果JLayer的视图组件不是null,null调用视图的getBaseline()方法。Component.BaselineResizeBehaviorgetBaselineResizeBehavior(JComponent c)如果JLayer的视图组件不是null,则返回视图的getBaselineResizeBehavior()方法的结果。DimensiongetMaximumSize(JComponent c)如果JLayer的视图组件不是null,则返回视图的getMaximumSize()方法的结果。DimensiongetMinimumSize(JComponent c)如果JLayer的视图组件不是null,则返回视图的getMinimalSize()方法的结果。DimensiongetPreferredSize(JComponent c)如果JLayer的视图组件不是null,则返回视图的getPreferredSize()方法的结果。PropertyChangeListener[]getPropertyChangeListeners()返回在此组件上注册的所有属性更改侦听器的数组。PropertyChangeListener[]getPropertyChangeListeners(String propertyName)返回已与命名属性关联的所有侦听器的数组。booleanimageUpdate(Image img, int infoflags, int x, int y, int w, int h, JLayer<? extends V> l)将其功能委托给JLayer.imageUpdate方法的默认实现,该方法继承自JLayer的基类。voidinstallUI(JComponent c)配置JLayer此LayerUI设置为。voidpaint(Graphics g, JComponent c)绘制指定的组件。voidpaintImmediately(int x, int y, int width, int height, JLayer<? extends V> l)在JLayer中将指定的区域绘制成LayerUI,立即设置为。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或其任何子组件上发生的鼠标滚轮事件。voidremovePropertyChangeListener(PropertyChangeListener listener)从侦听器列表中删除PropertyChangeListener。voidremovePropertyChangeListener(String propertyName, PropertyChangeListener listener)从侦听器列表中删除特定属性的PropertyChangeListener。voiduninstallUI(JComponent c)反转先前在installUI(JComponent)方法中设置的配置。voidupdateUI(JLayer<? extends V> l)-
声明方法的类 javax.swing.plaf.ComponentUI
contains, createUI, getAccessibleChild, getAccessibleChildrenCount, update
-
-
-
-
方法详细信息
-
paint
public void paint(Graphics g, JComponent c)
绘制指定的组件。 子类应重写此方法,并使用指定的Graphics对象呈现组件的内容。默认实现按原样绘制传递的组件。
- 重写:
-
paint在课堂上ComponentUI - 参数
-
g- 要绘制的Graphics上下文 -
c- 正在绘制的组件 - 另请参见:
-
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
-
eventDispatched
public void eventDispatched(AWTEvent e, JLayer<? extends V> l)
处理AWTEvent的JLayer及其后代到LayerUI实例。为了使
AWTEvent个特定类型的,你叫JLayer.setLayerEventMask(long)在installUI(javax.swing.JComponent)并设置图层事件面膜0在uninstallUI(javax.swing.JComponent)之后。 默认情况下,此方法为给定的事件类调用适当的process<eventtype>Event方法。注意:事件仅针对可显示的
JLayer进行处理。- 参数
-
e- 要分派的事件 -
l- 此LayerUI设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),Component.isDisplayable(),processComponentEvent(java.awt.event.ComponentEvent, javax.swing.JLayer<? extends V>),processFocusEvent(java.awt.event.FocusEvent, javax.swing.JLayer<? extends V>),processKeyEvent(java.awt.event.KeyEvent, javax.swing.JLayer<? extends V>),processMouseEvent(java.awt.event.MouseEvent, javax.swing.JLayer<? extends V>),processMouseMotionEvent(java.awt.event.MouseEvent, javax.swing.JLayer<? extends V>),processInputMethodEvent(java.awt.event.InputMethodEvent, javax.swing.JLayer<? extends V>),processHierarchyEvent(java.awt.event.HierarchyEvent, javax.swing.JLayer<? extends V>),processMouseWheelEvent(java.awt.event.MouseWheelEvent, javax.swing.JLayer<? extends V>)
-
processComponentEvent
protected void processComponentEvent(ComponentEvent e, JLayer<? extends V> l)
处理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.COMPONENT_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; l.setLayerEventMask(0); }- 参数
-
e- 要处理的ComponentEvent -
l- 此LayerUI实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
processFocusEvent
protected void processFocusEvent(FocusEvent e, JLayer<? extends V> l)
处理焦点发生在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实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
processKeyEvent
protected void processKeyEvent(KeyEvent e, JLayer<? extends V> l)
处理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实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
processMouseEvent
protected void processMouseEvent(MouseEvent e, JLayer<? extends V> l)
处理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实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
processMouseMotionEvent
protected void processMouseMotionEvent(MouseEvent e, JLayer<? extends V> l)
处理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实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
processMouseWheelEvent
protected void processMouseWheelEvent(MouseWheelEvent e, JLayer<? extends V> l)
处理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实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
processInputMethodEvent
protected void processInputMethodEvent(InputMethodEvent e, JLayer<? extends V> l)
处理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实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
processHierarchyEvent
protected void processHierarchyEvent(HierarchyEvent e, JLayer<? extends V> l)
处理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实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
processHierarchyBoundsEvent
protected void processHierarchyBoundsEvent(HierarchyEvent e, JLayer<? extends V> l)
处理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实例设置的层 - 另请参见:
-
JLayer.setLayerEventMask(long),installUI(javax.swing.JComponent),uninstallUI(javax.swing.JComponent)
-
installUI
public void installUI(JComponent c)
配置JLayer此LayerUI设置为。 对于PropertyChangeListener的属性更改,默认实现将传递的JLayer组件注册为LayerUI。- 重写:
-
installUI在类ComponentUI - 参数
-
c- 正在安装此UI委托的JLayer组件 - 另请参见:
-
ComponentUI.uninstallUI(javax.swing.JComponent),JComponent.setUI(javax.swing.plaf.ComponentUI),JComponent.updateUI()
-
uninstallUI
public void uninstallUI(JComponent c)
反转先前在installUI(JComponent)方法中设置的配置。 对于PropertyChangeListener的属性更改,默认实现将已传递的JLayer组件PropertyChangeListener为LayerUI。- 重写:
-
uninstallUI,类ComponentUI - 参数
-
c- 要从中删除此UI委托的组件。 - 另请参见:
-
ComponentUI.installUI(javax.swing.JComponent),JComponent.updateUI()
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
将PropertyChangeListener添加到侦听器列表。 侦听器已注册此类的所有绑定属性。如果
listener是null,则不会引发异常并且不执行任何操作。
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
从侦听器列表中删除PropertyChangeListener。 此方法应用于删除为此类的所有绑定属性注册的PropertyChangeListener。如果
listener是null,则不会引发异常并且不执行任何操作。- 参数
-
listener- 要删除的PropertyChangeListener - 另请参见:
-
addPropertyChangeListener(java.beans.PropertyChangeListener),getPropertyChangeListeners(),removePropertyChangeListener(String, PropertyChangeListener)
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
返回在此组件上注册的所有属性更改侦听器的数组。- 结果
-
如果当前没有注册属性更改侦听器,则所有这些ui的
PropertyChangeListener或空数组 - 另请参见:
-
addPropertyChangeListener(java.beans.PropertyChangeListener),removePropertyChangeListener(java.beans.PropertyChangeListener),getPropertyChangeListeners(String)
-
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
将PropertyChangeListener添加到特定属性的侦听器列表中。如果
propertyName或listener是null,则不会引发异常并且不执行任何操作。- 参数
-
propertyName- 上面列出的其中一个属性名称 -
listener- 要添加的属性更改侦听器 - 另请参见:
-
removePropertyChangeListener(String, PropertyChangeListener),getPropertyChangeListeners(String),addPropertyChangeListener(String, PropertyChangeListener)
-
removePropertyChangeListener
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
从侦听器列表中删除特定属性的PropertyChangeListener。 此方法应用于删除为特定绑定属性注册的PropertyChangeListener。如果
propertyName或listener是null,则不会引发异常并且不执行任何操作。- 参数
-
propertyName- 有效的属性名称 -
listener- 要删除的PropertyChangeListener - 另请参见:
-
addPropertyChangeListener(String, PropertyChangeListener),getPropertyChangeListeners(String),removePropertyChangeListener(PropertyChangeListener)
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
返回已与命名属性关联的所有侦听器的数组。- 参数
-
propertyName- 正在侦听的属性的名称 - 结果
-
所有与命名属性相关的
PropertyChangeListener; 如果没有添加此类侦听器或propertyName是null,则返回一个空数组 - 另请参见:
-
addPropertyChangeListener(String, PropertyChangeListener),removePropertyChangeListener(String, PropertyChangeListener),getPropertyChangeListeners()
-
firePropertyChange
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
支持报告对象属性的绑定属性更改。 绑定属性发生更改时,可以调用此方法,并将相应的PropertyChangeEvent发送到任何已注册的PropertyChangeListeners。- 参数
-
propertyName- 其值已更改的属性 -
oldValue- 该物业以前的价值 -
newValue- 该物业的新值
-
applyPropertyChange
public void applyPropertyChange(PropertyChangeEvent evt, JLayer<? extends V> l)
当其任何属性发生更改时通知LayerUI并启用此LayerUI实例设置为每个JLayer更新。- 参数
-
evt- 此LayerUI生成的LayerUI -
l-该JLayer这LayerUI设为
-
getBaseline
public int getBaseline(JComponent c, int width, int height)
如果JLayer的视图组件不是null,null调用视图的getBaseline()方法。 否则,将调用默认实现。- 重写:
-
getBaseline在ComponentUI类中 - 参数
-
c-JLayer返回基线调整大小的行为 -
width- 获取基线的宽度 -
height- 获取基线的高度 - 结果
- 基线或值<0表示没有合理的基线
- 另请参见:
-
JComponent.getBaseline(int,int)
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
如果JLayer的视图组件不是null,则返回视图的getBaselineResizeBehavior()方法的结果。 否则,将调用默认实现。- 重写:
-
getBaselineResizeBehavior在类ComponentUI - 参数
-
c-JLayer返回基线调整大小的行为 - 结果
- 一个枚举,指示基线随组件大小的变化而变化的方式
- 另请参见:
-
JComponent.getBaseline(int, int)
-
doLayout
public void doLayout(JLayer<? extends V> l)
导致传递的JLayer实例布局其组件。- 参数
-
l- 正在安装此UI委托的JLayer组件
-
getPreferredSize
public Dimension getPreferredSize(JComponent c)
如果JLayer的视图组件不是null,则返回视图的getPreferredSize()方法的结果。 否则,使用默认实现。- 重写:
-
getPreferredSize,类ComponentUI - 参数
-
c-JLayer返回首选大小 - 结果
-
通过
JLayer首选大小 - 另请参见:
-
JComponent.getPreferredSize(),LayoutManager.preferredLayoutSize(java.awt.Container)
-
getMinimumSize
public Dimension getMinimumSize(JComponent c)
如果JLayer的视图组件不是null,则返回视图的getMinimalSize()方法的结果。 否则,使用默认实现。- 重写:
-
getMinimumSize,类ComponentUI - 参数
-
c-JLayer返回首选大小 - 结果
-
通过
JLayer最小尺寸 - 另请参见:
-
JComponent.getMinimumSize(),LayoutManager.minimumLayoutSize(java.awt.Container),ComponentUI.getPreferredSize(javax.swing.JComponent)
-
getMaximumSize
public Dimension getMaximumSize(JComponent c)
如果JLayer的视图组件不是null,则返回视图的getMaximumSize()方法的结果。 否则,使用默认实现。- 重写:
-
getMaximumSize在ComponentUI类中 - 参数
-
c-JLayer返回首选大小 - 结果
-
通过
JLayer最大尺寸 - 另请参见:
-
JComponent.getMaximumSize(),LayoutManager2.maximumLayoutSize(java.awt.Container)
-
paintImmediately
public void paintImmediately(int x, int y, int width, int height, JLayer<? extends V> l)在JLayer绘制指定区域,此LayerUI立即设置为。当需要更改脏区域时,将覆盖此方法。 默认实现将其功能委派给
JComponent.paintImmediately(int, int, int, int)。- 参数
-
x- 要绘制的区域的x值 -
y- 要绘制的区域的y值 -
width- 要绘制的区域的宽度 -
height- 要绘制区域的高度 -
l-JLayer组件 - 另请参见:
-
JComponent.paintImmediately(int, int, int, int)
-
imageUpdate
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h, JLayer<? extends V> l)
将其功能委托给JLayer.imageUpdate方法的默认实现,该方法继承自JLayer的基类。将覆盖此方法而不是
JLayer.imageUpdate。注意:此方法通常不在 Event Dispatching Thread上调用。
- 参数
-
img- 正在观察的图像 -
infoflags- 有关信息,请参阅imageUpdate -
x- x坐标 -
y- y坐标 -
w- 宽度 -
h- 身高 -
l-JLayer组件 - 结果
- false if the infoflags indicate that the image is completely loaded; true otherwise
-
-