static A treeDependButton(final JTree tree, final A b) { if (b != null) swing { tree.addTreeSelectionListener(new TreeSelectionListener { public void valueChanged(TreeSelectionEvent e) { b.setEnabled(getSelectedTreeNode(tree) != null); } }); b.setEnabled(getSelectedTreeNode(tree) != null); } ret b; }