package com.revolsys.swing.action; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.Action; import com.revolsys.swing.parallel.Invoke; public class ActionEnabledPropertyChangeListener implements PropertyChangeListener { private final Action action; public ActionEnabledPropertyChangeListener(final Action action) { this.action = action; } @Override public void propertyChange(final PropertyChangeEvent event) { boolean enabled; if (Boolean.TRUE == event.getNewValue()) { enabled = true; } else { enabled = false; } Invoke.later(() -> this.action.setEnabled(enabled)); } }