If the EventHandler can't find a method with the specified name passed, and you don't pass in a property name, you'll get an ArrayIndexOfBoundsException instead of an error indicating the method couldn't be found:
import javax.swing.event.*;
import javax.swing.*;
import java.beans.*;
public class Test {
public static void main(String argv[]) {
new Test();
}
public Test() {
JTree tree = new JTree();
tree.addTreeSelectionListener((TreeSelectionListener)EventHandler.
create(TreeSelectionListener.class, this, "selectionChanged"));
tree.setSelectionRow(0);
}
}