public final class SwingObservable extends Object
| Modifier and Type | Field and Description |
|---|---|
static int |
MOUSE_ALL
|
static int |
MOUSE_CLICK
Flag constant for
mouse(Component, int) indicating only the
MouseListener events should be forwarded. |
static int |
MOUSE_MOVE
Flag constant for
mouse(Component, int) indicating only the
MouseMotionListener events should be forwarded. |
static int |
MOUSE_WHEEL
Flag constant for
mouse(Component, int) indicating only the
MouseWheelListener events should be forwarded. |
static int |
WINDOW_ACTIVE
Flag constant for the
window(Window, int) indicating only
the WindowListener events should be forwarded. |
static int |
WINDOW_ALL
|
static int |
WINDOW_FOCUS
Flag constant for the
window(Window, int) indicating only
the WindowFocusListener events should be forwarded. |
static int |
WINDOW_STATE
Flag constant for the
window(Window, int) indicating only
the WindowStateListener events should be forwarded. |
| Modifier and Type | Method and Description |
|---|---|
static io.reactivex.Observable<ActionEvent> |
actions(AbstractButton button) |
static io.reactivex.Observable<ActionEvent> |
actions(JComboBox<?> button) |
static io.reactivex.Observable<AncestorEvent> |
ancestor(JComponent component) |
static io.reactivex.Observable<CaretEvent> |
caret(JTextComponent component) |
static io.reactivex.Observable<ChangeEvent> |
change(AbstractButton component) |
static io.reactivex.Observable<ChangeEvent> |
change(BoundedRangeModel component) |
static io.reactivex.Observable<ChangeEvent> |
change(ButtonModel component) |
static io.reactivex.Observable<ChangeEvent> |
change(ColorSelectionModel component) |
static io.reactivex.Observable<ChangeEvent> |
change(JProgressBar component) |
static io.reactivex.Observable<ChangeEvent> |
change(JSlider component) |
static io.reactivex.Observable<ChangeEvent> |
change(JSpinner component) |
static io.reactivex.Observable<ChangeEvent> |
change(JTabbedPane component) |
static io.reactivex.Observable<ChangeEvent> |
change(JViewport component) |
static io.reactivex.Observable<ChangeEvent> |
change(SpinnerModel component) |
static io.reactivex.Observable<ComponentEvent> |
component(Component component) |
static io.reactivex.Observable<ContainerEvent> |
container(Container component) |
static io.reactivex.Observable<DocumentEvent> |
document(Document component) |
static io.reactivex.Observable<DocumentEvent> |
document(JTextComponent component) |
static io.reactivex.Observable<FocusEvent> |
focus(Component component) |
static io.reactivex.Observable<HierarchyEvent> |
hierarchy(Component component) |
static io.reactivex.Observable<HierarchyEvent> |
hierarchyBounds(Component component) |
static io.reactivex.Observable<HyperlinkEvent> |
hyperlink(JEditorPane component) |
static io.reactivex.Observable<InputMethodEvent> |
inputMethod(Component component) |
static io.reactivex.Observable<InternalFrameEvent> |
internalFrame(JInternalFrame component) |
static io.reactivex.Observable<ItemEvent> |
itemSelection(ItemSelectable component) |
static io.reactivex.Observable<KeyEvent> |
keyboard(Component component) |
static io.reactivex.Observable<ListDataEvent> |
listChange(JList<?> component) |
static io.reactivex.Observable<ListDataEvent> |
listChange(ListModel<?> component) |
static io.reactivex.Observable<ListSelectionEvent> |
listSelection(JList<?> component) |
static io.reactivex.Observable<ListSelectionEvent> |
listSelection(ListSelectionModel component) |
static io.reactivex.Observable<MenuEvent> |
menu(JMenu component) |
static io.reactivex.Observable<MenuDragMouseEvent> |
menuDrag(JMenuItem component) |
static io.reactivex.Observable<MenuKeyEvent> |
menuKey(JMenuItem component) |
static io.reactivex.Observable<MenuKeyEvent> |
menuKey(JPopupMenu component) |
static io.reactivex.Observable<MouseEvent> |
mouse(Component component) |
static io.reactivex.Observable<MouseEvent> |
mouse(Component component,
int flags) |
static io.reactivex.Observable<MouseWheelEvent> |
mouseWheel(Component component) |
static <T> io.reactivex.ObservableTransformer<T,T> |
observeOnEdt()
Sends the oberved upstream event directly to the Event Dispatch thread individually
(unlike observeOn which may occupy the EDT longer with a fast emitting source).
|
static io.reactivex.Observable<PopupMenuEvent> |
popupMenu(JComboBox<?> component) |
static io.reactivex.Observable<PopupMenuEvent> |
popupMenu(JPopupMenu component) |
static io.reactivex.Observable<PropertyChangeEvent> |
propertyChange(Component component) |
static io.reactivex.Observable<PropertyChangeEvent> |
propertyChange(Component component,
String propertyName) |
static io.reactivex.Observable<RowSorterEvent> |
rowSorter(JTable component) |
static io.reactivex.Observable<RowSorterEvent> |
rowSorter(RowSorter<?> component) |
static io.reactivex.Observable<ChangeEvent> |
tableColumnMarginChange(TableColumnModel component) |
static io.reactivex.Observable<TableColumnModelEvent> |
tableColumnModel(JTable component) |
static io.reactivex.Observable<TableColumnModelEvent> |
tableColumnModel(TableColumnModel component) |
static io.reactivex.Observable<ListSelectionEvent> |
tableColumnSelectionChange(TableColumnModel component) |
static io.reactivex.Observable<TableModelEvent> |
tableModel(JTable component) |
static io.reactivex.Observable<TableModelEvent> |
tableModel(TableModel component) |
static io.reactivex.Observable<TreeExpansionEvent> |
treeExpansion(JTree component) |
static io.reactivex.Observable<TreeModelEvent> |
treeModel(JTree component) |
static io.reactivex.Observable<TreeModelEvent> |
treeModel(TreeModel component) |
static io.reactivex.Observable<TreeSelectionEvent> |
treeSelection(JTree component) |
static io.reactivex.Observable<TreeSelectionEvent> |
treeSelection(TreeSelectionModel component) |
static io.reactivex.Observable<TreeExpansionEvent> |
treeWillExpand(JTree component) |
static io.reactivex.Observable<UndoableEditEvent> |
undoableEdit(Document component) |
static io.reactivex.Observable<UndoableEditEvent> |
undoableEdit(JTextComponent component) |
static io.reactivex.Observable<VetoablePropertyChangeEvent> |
vetoableChange(JComponent component) |
static io.reactivex.Observable<WindowEvent> |
window(Window component) |
static io.reactivex.Observable<WindowEvent> |
window(Window component,
int flags) |
public static final int MOUSE_CLICK
mouse(Component, int) indicating only the
MouseListener events should be forwarded.public static final int MOUSE_MOVE
mouse(Component, int) indicating only the
MouseMotionListener events should be forwarded.public static final int MOUSE_WHEEL
mouse(Component, int) indicating only the
MouseWheelListener events should be forwarded.
Note that the MouseWheelEvent extends MouseEvent
and the consumer should check and cast back the stream of
MouseEvent.
public static final int MOUSE_ALL
public static final int WINDOW_ACTIVE
window(Window, int) indicating only
the WindowListener events should be forwarded.public static final int WINDOW_FOCUS
window(Window, int) indicating only
the WindowFocusListener events should be forwarded.public static final int WINDOW_STATE
window(Window, int) indicating only
the WindowStateListener events should be forwarded.public static final int WINDOW_ALL
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ActionEvent> actions(@NonNull AbstractButton button)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ActionEvent> actions(@NonNull JComboBox<?> button)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<MouseEvent> mouse(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<MouseEvent> mouse(@NonNull Component component, int flags)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<MouseWheelEvent> mouseWheel(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<KeyEvent> keyboard(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ComponentEvent> component(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<FocusEvent> focus(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<HierarchyEvent> hierarchyBounds(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<HierarchyEvent> hierarchy(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<InputMethodEvent> inputMethod(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<PropertyChangeEvent> propertyChange(@NonNull Component component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<PropertyChangeEvent> propertyChange(@NonNull Component component, String propertyName)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<DocumentEvent> document(@NonNull Document component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<DocumentEvent> document(@NonNull JTextComponent component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<UndoableEditEvent> undoableEdit(@NonNull Document component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<UndoableEditEvent> undoableEdit(@NonNull JTextComponent component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<CaretEvent> caret(@NonNull JTextComponent component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<AncestorEvent> ancestor(@NonNull JComponent component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<VetoablePropertyChangeEvent> vetoableChange(@NonNull JComponent component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ContainerEvent> container(@NonNull Container component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ListSelectionEvent> listSelection(@NonNull JList<?> component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ListSelectionEvent> listSelection(@NonNull ListSelectionModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<HyperlinkEvent> hyperlink(@NonNull JEditorPane component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<InternalFrameEvent> internalFrame(@NonNull JInternalFrame component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ListDataEvent> listChange(@NonNull ListModel<?> component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ListDataEvent> listChange(@NonNull JList<?> component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<MenuDragMouseEvent> menuDrag(@NonNull JMenuItem component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<MenuEvent> menu(@NonNull JMenu component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<MenuKeyEvent> menuKey(@NonNull JMenuItem component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<MenuKeyEvent> menuKey(@NonNull JPopupMenu component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<PopupMenuEvent> popupMenu(@NonNull JComboBox<?> component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<PopupMenuEvent> popupMenu(@NonNull JPopupMenu component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<RowSorterEvent> rowSorter(@NonNull RowSorter<?> component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<RowSorterEvent> rowSorter(@NonNull JTable component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TableModelEvent> tableModel(@NonNull TableModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TableModelEvent> tableModel(@NonNull JTable component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TableColumnModelEvent> tableColumnModel(@NonNull TableColumnModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> tableColumnMarginChange(@NonNull TableColumnModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ListSelectionEvent> tableColumnSelectionChange(@NonNull TableColumnModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TableColumnModelEvent> tableColumnModel(@NonNull JTable component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TreeExpansionEvent> treeExpansion(@NonNull JTree component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TreeModelEvent> treeModel(@NonNull TreeModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TreeModelEvent> treeModel(@NonNull JTree component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TreeSelectionEvent> treeSelection(@NonNull TreeSelectionModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TreeSelectionEvent> treeSelection(@NonNull JTree component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<TreeExpansionEvent> treeWillExpand(@NonNull JTree component)
@CheckReturnValue @NonNull public static <T> io.reactivex.ObservableTransformer<T,T> observeOnEdt()
To be used with Observable.compose(ObservableTransformer).
This custom observeOn should allow more interleaving with other EDT-submitted tasks and not occupy the EDT for too long.
Example:
Observable.range(1, 5)
.compose(SwingObservable.observeOnEdt())
.subscribe(System.out::println);
EventQueue.invokeLater().T - the value type@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ItemEvent> itemSelection(@NonNull ItemSelectable component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull JTabbedPane component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull JSlider component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull JSpinner component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull SpinnerModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull AbstractButton component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull ButtonModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull JViewport component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull ColorSelectionModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull JProgressBar component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<ChangeEvent> change(@NonNull BoundedRangeModel component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<WindowEvent> window(@NonNull Window component)
@CheckReturnValue @NonNull @SchedulerSupport(value="none") public static io.reactivex.Observable<WindowEvent> window(@NonNull Window component, int flags)