public void fireActionListeners() {fireActionListeners("");}
public void fireActionListeners(String command) {
final ActionEvent e = new ActionEvent(source, count++, prefix + ":" + command);
for (ActionListener l: listeners) {
final ActionListener l2 = l;
SwingUtilities.invokeLater(new Runnable() {@Override public void run() {l2.actionPerformed(e);}});
}
}
public ActionDelegate actionDelegate() {return new ActionDelegate(this);}
public ChangeDelegate changeDelegate() {return new ChangeDelegate(this);}