I think the shortest code example would be:
button.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e) {
System.out.println("Button clicked");
}});
vs defining a two line function then writing: (add-action-listener button #(println "Button clicked"))
Or maybe: (new Thread #(println "In thread"))