Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Duplicate :
|
|
Relates :
|
The implementation of getListeners() for JComponent is broken for the following listeners: PropertyChangeListener, AncestorListener, VetoableChangeListener For the following test program, getListeners() will always return 0 no matter how many listeners you add to the component. ----------------------------------- Cut Here ---------------------------------- import java.beans.*; import java.util.*; import javax.swing.*; import javax.swing.event.*; public class TestGetListenersForJComponent implements PropertyChangeListener, AncestorListener, VetoableChangeListener { JToolTip aComp = new JToolTip(); EventListener[] eventListener; public TestGetListenersForJComponent() { eventListener = aComp.getListeners(PropertyChangeListener.class); System.out.println("PropertyChangeListener before adding a listener: " + eventListener.length); eventListener = aComp.getListeners(AncestorListener.class); System.out.println("AncestorListener before adding a listener: " + eventListener.length); eventListener = aComp.getListeners(VetoableChangeListener.class); System.out.println("VetoableChangeListener before adding a listener: " + eventListener.length); aComp.addPropertyChangeListener(this); aComp.addAncestorListener(this); aComp.addVetoableChangeListener(this); System.out.println(""); eventListener = aComp.getListeners(PropertyChangeListener.class); System.out.println("PropertyChangeListener after adding a listener: " + eventListener.length); eventListener = aComp.getListeners(AncestorListener.class); System.out.println("AncestorListener after adding a listener: " + eventListener.length); eventListener = aComp.getListeners(VetoableChangeListener.class); System.out.println("VetoableChangeListener after adding a listener: " + eventListener.length); } public void propertyChange(PropertyChangeEvent e) {} public void ancestorAdded(AncestorEvent e) {} public void ancestorMoved(AncestorEvent event) {} public void ancestorRemoved(AncestorEvent event) {} public void vetoableChange(PropertyChangeEvent evt) {} public static void main(String[] args) { new TestGetListenersForJComponent(); } } ----------------------------------- Cut Here ----------------------------------- edmund.lou@eng 1999-07-27 JFC SQE
|