Methods Summary |
---|
void | addAncestorListener(javax.swing.event.AncestorListener l)
listenerList.add(AncestorListener.class, l);
|
void | addListeners(java.awt.Component ancestor, boolean addToFirst)
Component a;
firstInvisibleAncestor = null;
for (a = ancestor;
firstInvisibleAncestor == null;
a = a.getParent()) {
if (addToFirst || a != ancestor) {
a.addComponentListener(this);
if (a instanceof JComponent) {
JComponent jAncestor = (JComponent)a;
jAncestor.addPropertyChangeListener(this);
}
}
if (!a.isVisible() || a.getParent() == null || a instanceof Window) {
firstInvisibleAncestor = a;
}
}
if (firstInvisibleAncestor instanceof Window &&
firstInvisibleAncestor.isVisible()) {
firstInvisibleAncestor = null;
}
|
public void | componentHidden(java.awt.event.ComponentEvent e)
Component ancestor = e.getComponent();
boolean needsNotify = firstInvisibleAncestor == null;
if ( !(ancestor instanceof Window) ) {
removeListeners(ancestor.getParent());
}
firstInvisibleAncestor = ancestor;
if (needsNotify) {
fireAncestorRemoved(root, AncestorEvent.ANCESTOR_REMOVED,
(Container)ancestor, ancestor.getParent());
}
|
public void | componentMoved(java.awt.event.ComponentEvent e)
Component source = e.getComponent();
fireAncestorMoved(root, AncestorEvent.ANCESTOR_MOVED,
(Container)source, source.getParent());
|
public void | componentResized(java.awt.event.ComponentEvent e)
|
public void | componentShown(java.awt.event.ComponentEvent e)
Component ancestor = e.getComponent();
if (ancestor == firstInvisibleAncestor) {
addListeners(ancestor, false);
if (firstInvisibleAncestor == null) {
fireAncestorAdded(root, AncestorEvent.ANCESTOR_ADDED,
(Container)ancestor, ancestor.getParent());
}
}
|
protected void | fireAncestorAdded(javax.swing.JComponent source, int id, java.awt.Container ancestor, java.awt.Container ancestorParent)
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
// Process the listeners last to first, notifying
// those that are interested in this event
for (int i = listeners.length-2; i>=0; i-=2) {
if (listeners[i]==AncestorListener.class) {
// Lazily create the event:
AncestorEvent ancestorEvent =
new AncestorEvent(source, id, ancestor, ancestorParent);
((AncestorListener)listeners[i+1]).ancestorAdded(ancestorEvent);
}
}
|
protected void | fireAncestorMoved(javax.swing.JComponent source, int id, java.awt.Container ancestor, java.awt.Container ancestorParent)
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
// Process the listeners last to first, notifying
// those that are interested in this event
for (int i = listeners.length-2; i>=0; i-=2) {
if (listeners[i]==AncestorListener.class) {
// Lazily create the event:
AncestorEvent ancestorEvent =
new AncestorEvent(source, id, ancestor, ancestorParent);
((AncestorListener)listeners[i+1]).ancestorMoved(ancestorEvent);
}
}
|
protected void | fireAncestorRemoved(javax.swing.JComponent source, int id, java.awt.Container ancestor, java.awt.Container ancestorParent)
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
// Process the listeners last to first, notifying
// those that are interested in this event
for (int i = listeners.length-2; i>=0; i-=2) {
if (listeners[i]==AncestorListener.class) {
// Lazily create the event:
AncestorEvent ancestorEvent =
new AncestorEvent(source, id, ancestor, ancestorParent);
((AncestorListener)listeners[i+1]).ancestorRemoved(ancestorEvent);
}
}
|
javax.swing.event.AncestorListener[] | getAncestorListeners()
return (AncestorListener[])listenerList.getListeners(AncestorListener.class);
|
public void | propertyChange(java.beans.PropertyChangeEvent evt)
String s = evt.getPropertyName();
if (s!=null && (s.equals("parent") || s.equals("ancestor"))) {
JComponent component = (JComponent)evt.getSource();
if (evt.getNewValue() != null) {
if (component == firstInvisibleAncestor) {
addListeners(component, false);
if (firstInvisibleAncestor == null) {
fireAncestorAdded(root, AncestorEvent.ANCESTOR_ADDED,
component, component.getParent());
}
}
} else {
boolean needsNotify = firstInvisibleAncestor == null;
Container oldParent = (Container)evt.getOldValue();
removeListeners(oldParent);
firstInvisibleAncestor = component;
if (needsNotify) {
fireAncestorRemoved(root, AncestorEvent.ANCESTOR_REMOVED,
component, oldParent);
}
}
}
|
void | removeAllListeners()
removeListeners(root);
|
void | removeAncestorListener(javax.swing.event.AncestorListener l)
listenerList.remove(AncestorListener.class, l);
|
void | removeListeners(java.awt.Component ancestor)
Component a;
for (a = ancestor; a != null; a = a.getParent()) {
a.removeComponentListener(this);
if (a instanceof JComponent) {
JComponent jAncestor = (JComponent)a;
jAncestor.removePropertyChangeListener(this);
}
if (a == firstInvisibleAncestor || a instanceof Window) {
break;
}
}
|