package com.revolsys.swing;
import java.awt.ItemSelectable;
import javax.swing.AbstractButton;
import javax.swing.JList;
import javax.swing.JTextField;
import javax.swing.text.Document;
import javax.swing.text.JTextComponent;
import com.revolsys.swing.listener.ActionListenable;
import com.revolsys.swing.listener.EventQueueRunnableListener;
import com.revolsys.util.Property;
public interface EventQueue {
static EventQueueRunnableListener addAction(final AbstractButton component,
final Runnable runnable) {
final EventQueueRunnableListener listener = new EventQueueRunnableListener(runnable);
component.addActionListener(listener);
return listener;
}
static EventQueueRunnableListener addAction(final ActionListenable listenable,
final Runnable runnable) {
final EventQueueRunnableListener listener = new EventQueueRunnableListener(runnable);
listenable.addActionListener(listener);
return listener;
}
static EventQueueRunnableListener addAction(final JTextField component, final Runnable runnable) {
final EventQueueRunnableListener listener = new EventQueueRunnableListener(runnable);
component.addActionListener(listener);
return listener;
}
static EventQueueRunnableListener addDocument(final Document document, final Runnable runnable) {
final EventQueueRunnableListener listener = new EventQueueRunnableListener(runnable);
document.addDocumentListener(listener);
return listener;
}
static EventQueueRunnableListener addDocument(final JTextComponent component,
final Runnable runnable) {
final Document document = component.getDocument();
return addDocument(document, runnable);
}
static EventQueueRunnableListener addItem(final ItemSelectable source, final Runnable runnable) {
final EventQueueRunnableListener listener = new EventQueueRunnableListener(runnable);
source.addItemListener(listener);
return listener;
}
static EventQueueRunnableListener addListSelection(final JList<?> component,
final Runnable runnable) {
final EventQueueRunnableListener listener = new EventQueueRunnableListener(runnable);
component.addListSelectionListener(listener);
return listener;
}
static EventQueueRunnableListener addPropertyChange(final Object source,
final Runnable runnable) {
final EventQueueRunnableListener listener = new EventQueueRunnableListener(runnable);
Property.addListener(source, listener);
return listener;
}
static EventQueueRunnableListener addPropertyChange(final Object source,
final String propertyName, final Runnable runnable) {
final EventQueueRunnableListener listener = new EventQueueRunnableListener(runnable);
Property.addListener(source, propertyName, listener);
return listener;
}
static Runnable newRunnable(final Runnable runnable) {
return new EventQueueRunnableListener(runnable);
}
}