View Javadoc
1 package net.mlw.util.swing;
2
3 import java.awt.AWTEventMulticaster;
4 import java.util.EventListener;
5
6 import javax.swing.event.AncestorEvent;
7 import javax.swing.event.AncestorListener;
8 import javax.swing.event.CaretEvent;
9 import javax.swing.event.CaretListener;
10 import javax.swing.event.CellEditorListener;
11 import javax.swing.event.ChangeEvent;
12 import javax.swing.event.ChangeListener;
13 import javax.swing.event.DocumentEvent;
14 import javax.swing.event.DocumentListener;
15 import javax.swing.event.HyperlinkEvent;
16 import javax.swing.event.HyperlinkListener;
17 import javax.swing.event.InternalFrameEvent;
18 import javax.swing.event.InternalFrameListener;
19 import javax.swing.event.ListDataEvent;
20 import javax.swing.event.ListDataListener;
21 import javax.swing.event.ListSelectionEvent;
22 import javax.swing.event.ListSelectionListener;
23 import javax.swing.event.MenuDragMouseEvent;
24 import javax.swing.event.MenuDragMouseListener;
25 import javax.swing.event.MenuEvent;
26 import javax.swing.event.MenuKeyEvent;
27 import javax.swing.event.MenuKeyListener;
28 import javax.swing.event.MenuListener;
29 import javax.swing.event.PopupMenuEvent;
30 import javax.swing.event.PopupMenuListener;
31 import javax.swing.event.TableColumnModelEvent;
32 import javax.swing.event.TableColumnModelListener;
33 import javax.swing.event.TableModelEvent;
34 import javax.swing.event.TableModelListener;
35 import javax.swing.event.TreeExpansionEvent;
36 import javax.swing.event.TreeExpansionListener;
37 import javax.swing.event.TreeModelEvent;
38 import javax.swing.event.TreeModelListener;
39 import javax.swing.event.TreeSelectionEvent;
40 import javax.swing.event.TreeSelectionListener;
41 import javax.swing.event.TreeWillExpandListener;
42 import javax.swing.event.UndoableEditEvent;
43 import javax.swing.event.UndoableEditListener;
44 import javax.swing.tree.ExpandVetoException;
45
46 public class SwingEventMulticaster
47 extends AWTEventMulticaster
48 implements
49 AncestorListener,
50 CaretListener,
51 CellEditorListener,
52 ChangeListener,
53 DocumentListener,
54 HyperlinkListener,
55 InternalFrameListener,
56 ListDataListener,
57 ListSelectionListener,
58 MenuDragMouseListener,
59 MenuKeyListener,
60 MenuListener,
61 PopupMenuListener,
62 TableColumnModelListener,
63 TableModelListener,
64 TreeExpansionListener,
65 TreeModelListener,
66 TreeSelectionListener,
67 TreeWillExpandListener,
68 UndoableEditListener
69 {
70 protected SwingEventMulticaster(EventListener a, EventListener b)
71 {
72 super(a, b);
73 }
74
75 // ---------------------------------------------------
76 // AncestorListener
77 // ---------------------------------------------------
78
79 public void ancestorAdded(AncestorEvent event)
80 {
81 ((AncestorListener) a).ancestorAdded(event);
82 ((AncestorListener) b).ancestorAdded(event);
83 }
84
85 public void ancestorRemoved(AncestorEvent event)
86 {
87 ((AncestorListener) a).ancestorRemoved(event);
88 ((AncestorListener) b).ancestorRemoved(event);
89 }
90
91 public void ancestorMoved(AncestorEvent event)
92 {
93 ((AncestorListener) a).ancestorMoved(event);
94 ((AncestorListener) b).ancestorMoved(event);
95 }
96
97 public static AncestorListener add(AncestorListener a, AncestorListener b)
98 {
99 return (AncestorListener) addInternal(a, b);
100 }
101
102 public static AncestorListener remove(AncestorListener l, AncestorListener oldl)
103 {
104 return (AncestorListener) removeInternal(l, oldl);
105 }
106
107 // ---------------------------------------------------
108 // CaretListener
109 // ---------------------------------------------------
110
111 public void caretUpdate(CaretEvent event)
112 {
113 ((CaretListener) a).caretUpdate(event);
114 ((CaretListener) b).caretUpdate(event);
115 }
116
117 public static CaretListener add(CaretListener a, CaretListener b)
118 {
119 return (CaretListener) addInternal(a, b);
120 }
121
122 public static CaretListener remove(CaretListener l, CaretListener oldl)
123 {
124 return (CaretListener) removeInternal(l, oldl);
125 }
126
127 // ---------------------------------------------------
128 // CellEditorListener
129 // ---------------------------------------------------
130
131 public void editingCanceled(ChangeEvent event)
132 {
133 ((CellEditorListener) a).editingCanceled(event);
134 ((CellEditorListener) b).editingCanceled(event);
135 }
136
137 public void editingStopped(ChangeEvent event)
138 {
139 ((CellEditorListener) a).editingStopped(event);
140 ((CellEditorListener) b).editingStopped(event);
141 }
142
143 public static CellEditorListener add(CellEditorListener a, CellEditorListener b)
144 {
145 return (CellEditorListener) addInternal(a, b);
146 }
147
148 public static CellEditorListener remove(CellEditorListener l, CellEditorListener oldl)
149 {
150 return (CellEditorListener) removeInternal(l, oldl);
151 }
152
153 // ---------------------------------------------------
154 // ChangeListener
155 // ---------------------------------------------------
156
157 public void stateChanged(ChangeEvent event)
158 {
159 ((ChangeListener) a).stateChanged(event);
160 ((ChangeListener) b).stateChanged(event);
161 }
162
163 public static ChangeListener add(ChangeListener a, ChangeListener b)
164 {
165 return (ChangeListener) addInternal(a, b);
166 }
167
168 public static ChangeListener remove(ChangeListener l, ChangeListener oldl)
169 {
170 return (ChangeListener) removeInternal(l, oldl);
171 }
172
173 // ---------------------------------------------------
174 // DocumentListener
175 // ---------------------------------------------------
176
177 public void insertUpdate(DocumentEvent event)
178 {
179 ((DocumentListener) a).insertUpdate(event);
180 ((DocumentListener) b).insertUpdate(event);
181 }
182
183 public void removeUpdate(DocumentEvent event)
184 {
185 ((DocumentListener) a).removeUpdate(event);
186 ((DocumentListener) b).removeUpdate(event);
187 }
188
189 public void changedUpdate(DocumentEvent event)
190 {
191 ((DocumentListener) a).changedUpdate(event);
192 ((DocumentListener) b).changedUpdate(event);
193 }
194
195 public static DocumentListener add(DocumentListener a, DocumentListener b)
196 {
197 return (DocumentListener) addInternal(a, b);
198 }
199
200 public static DocumentListener remove(DocumentListener l, DocumentListener oldl)
201 {
202 return (DocumentListener) removeInternal(l, oldl);
203 }
204
205 // ---------------------------------------------------
206 // HyperlinkListener
207 // ---------------------------------------------------
208
209 public void hyperlinkUpdate(HyperlinkEvent event)
210 {
211 ((HyperlinkListener) a).hyperlinkUpdate(event);
212 ((HyperlinkListener) b).hyperlinkUpdate(event);
213 }
214
215 public static HyperlinkListener add(HyperlinkListener a, HyperlinkListener b)
216 {
217 return (HyperlinkListener) addInternal(a, b);
218 }
219
220 public static HyperlinkListener remove(HyperlinkListener l, HyperlinkListener oldl)
221 {
222 return (HyperlinkListener) removeInternal(l, oldl);
223 }
224
225 // ---------------------------------------------------
226 // InternalFrameListener
227 // ---------------------------------------------------
228
229 public void internalFrameOpened(InternalFrameEvent event)
230 {
231 ((InternalFrameListener) a).internalFrameOpened(event);
232 ((InternalFrameListener) b).internalFrameOpened(event);
233 }
234
235 public void internalFrameClosing(InternalFrameEvent event)
236 {
237 ((InternalFrameListener) a).internalFrameClosing(event);
238 ((InternalFrameListener) b).internalFrameClosing(event);
239 }
240
241 public void internalFrameClosed(InternalFrameEvent event)
242 {
243 ((InternalFrameListener) a).internalFrameClosed(event);
244 ((InternalFrameListener) b).internalFrameClosed(event);
245 }
246
247 public void internalFrameIconified(InternalFrameEvent event)
248 {
249 ((InternalFrameListener) a).internalFrameIconified(event);
250 ((InternalFrameListener) b).internalFrameIconified(event);
251 }
252
253 public void internalFrameDeiconified(InternalFrameEvent event)
254 {
255 ((InternalFrameListener) a).internalFrameDeiconified(event);
256 ((InternalFrameListener) b).internalFrameDeiconified(event);
257 }
258
259 public void internalFrameActivated(InternalFrameEvent event)
260 {
261 ((InternalFrameListener) a).internalFrameActivated(event);
262 ((InternalFrameListener) b).internalFrameActivated(event);
263 }
264
265 public void internalFrameDeactivated(InternalFrameEvent event)
266 {
267 ((InternalFrameListener) a).internalFrameDeactivated(event);
268 ((InternalFrameListener) b).internalFrameDeactivated(event);
269 }
270
271 public static InternalFrameListener add(InternalFrameListener a, InternalFrameListener b)
272 {
273 return (InternalFrameListener) addInternal(a, b);
274 }
275
276 public static InternalFrameListener remove(InternalFrameListener l, InternalFrameListener oldl)
277 {
278 return (InternalFrameListener) removeInternal(l, oldl);
279 }
280
281 // ---------------------------------------------------
282 // ListDataListener
283 // ---------------------------------------------------
284
285 public void intervalAdded(ListDataEvent event)
286 {
287 ((ListDataListener) a).intervalAdded(event);
288 ((ListDataListener) b).intervalAdded(event);
289 }
290
291 public void intervalRemoved(ListDataEvent event)
292 {
293 ((ListDataListener) a).intervalRemoved(event);
294 ((ListDataListener) b).intervalRemoved(event);
295 }
296
297 public void contentsChanged(ListDataEvent event)
298 {
299 ((ListDataListener) a).contentsChanged(event);
300 ((ListDataListener) b).contentsChanged(event);
301 }
302
303 public static ListDataListener add(ListDataListener a, ListDataListener b)
304 {
305 return (ListDataListener) addInternal(a, b);
306 }
307
308 public static ListDataListener remove(ListDataListener l, ListDataListener oldl)
309 {
310 return (ListDataListener) removeInternal(l, oldl);
311 }
312
313 // ---------------------------------------------------
314 // ListSelectionListener
315 // ---------------------------------------------------
316
317 public void valueChanged(ListSelectionEvent event)
318 {
319 ((ListSelectionListener) a).valueChanged(event);
320 ((ListSelectionListener) b).valueChanged(event);
321 }
322
323 public static ListSelectionListener add(ListSelectionListener a, ListSelectionListener b)
324 {
325 return (ListSelectionListener) addInternal(a, b);
326 }
327
328 public static ListSelectionListener remove(ListSelectionListener l, ListSelectionListener oldl)
329 {
330 return (ListSelectionListener) removeInternal(l, oldl);
331 }
332
333 // ---------------------------------------------------
334 // MenuDragMouseListener
335 // ---------------------------------------------------
336
337 public void menuDragMouseEntered(MenuDragMouseEvent event)
338 {
339 ((MenuDragMouseListener) a).menuDragMouseEntered(event);
340 ((MenuDragMouseListener) b).menuDragMouseEntered(event);
341 }
342
343 public void menuDragMouseExited(MenuDragMouseEvent event)
344 {
345 ((MenuDragMouseListener) a).menuDragMouseExited(event);
346 ((MenuDragMouseListener) b).menuDragMouseExited(event);
347 }
348
349 public void menuDragMouseDragged(MenuDragMouseEvent event)
350 {
351 ((MenuDragMouseListener) a).menuDragMouseDragged(event);
352 ((MenuDragMouseListener) b).menuDragMouseDragged(event);
353 }
354
355 public void menuDragMouseReleased(MenuDragMouseEvent event)
356 {
357 ((MenuDragMouseListener) a).menuDragMouseReleased(event);
358 ((MenuDragMouseListener) b).menuDragMouseReleased(event);
359 }
360
361 public static MenuDragMouseListener add(MenuDragMouseListener a, MenuDragMouseListener b)
362 {
363 return (MenuDragMouseListener) addInternal(a, b);
364 }
365
366 public static MenuDragMouseListener remove(MenuDragMouseListener l, MenuDragMouseListener oldl)
367 {
368 return (MenuDragMouseListener) removeInternal(l, oldl);
369 }
370
371 // ---------------------------------------------------
372 // MenuKeyListener
373 // ---------------------------------------------------
374
375 public void menuKeyTyped(MenuKeyEvent event)
376 {
377 ((MenuKeyListener) a).menuKeyTyped(event);
378 ((MenuKeyListener) b).menuKeyTyped(event);
379 }
380
381 public void menuKeyPressed(MenuKeyEvent event)
382 {
383 ((MenuKeyListener) a).menuKeyPressed(event);
384 ((MenuKeyListener) b).menuKeyPressed(event);
385 }
386
387 public void menuKeyReleased(MenuKeyEvent event)
388 {
389 ((MenuKeyListener) a).menuKeyReleased(event);
390 ((MenuKeyListener) b).menuKeyReleased(event);
391 }
392
393 public static MenuKeyListener add(MenuKeyListener a, MenuKeyListener b)
394 {
395 return (MenuKeyListener) addInternal(a, b);
396 }
397
398 public static MenuKeyListener remove(MenuKeyListener l, MenuKeyListener oldl)
399 {
400 return (MenuKeyListener) removeInternal(l, oldl);
401 }
402
403 // ---------------------------------------------------
404 // MenuListener
405 // ---------------------------------------------------
406
407 public void menuSelected(MenuEvent event)
408 {
409 ((MenuListener) a).menuSelected(event);
410 ((MenuListener) b).menuSelected(event);
411 }
412
413 public void menuDeselected(MenuEvent event)
414 {
415 ((MenuListener) a).menuDeselected(event);
416 ((MenuListener) b).menuDeselected(event);
417 }
418
419 public void menuCanceled(MenuEvent event)
420 {
421 ((MenuListener) a).menuCanceled(event);
422 ((MenuListener) b).menuCanceled(event);
423 }
424
425 public static MenuListener add(MenuListener a, MenuListener b)
426 {
427 return (MenuListener) addInternal(a, b);
428 }
429
430 public static MenuListener remove(MenuListener l, MenuListener oldl)
431 {
432 return (MenuListener) removeInternal(l, oldl);
433 }
434
435 // ---------------------------------------------------
436 // PopupMenuListener
437 // ---------------------------------------------------
438
439 public void popupMenuWillBecomeVisible(PopupMenuEvent event)
440 {
441 ((PopupMenuListener) a).popupMenuWillBecomeVisible(event);
442 ((PopupMenuListener) b).popupMenuWillBecomeVisible(event);
443 }
444
445 public void popupMenuWillBecomeInvisible(PopupMenuEvent event)
446 {
447 ((PopupMenuListener) a).popupMenuWillBecomeInvisible(event);
448 ((PopupMenuListener) b).popupMenuWillBecomeInvisible(event);
449 }
450
451 public void popupMenuCanceled(PopupMenuEvent event)
452 {
453 ((PopupMenuListener) a).popupMenuCanceled(event);
454 ((PopupMenuListener) b).popupMenuCanceled(event);
455 }
456
457 public static PopupMenuListener add(PopupMenuListener a, PopupMenuListener b)
458 {
459 return (PopupMenuListener) addInternal(a, b);
460 }
461
462 public static PopupMenuListener remove(PopupMenuListener l, PopupMenuListener oldl)
463 {
464 return (PopupMenuListener) removeInternal(l, oldl);
465 }
466
467 // ---------------------------------------------------
468 // TableColumnModelListener
469 // ---------------------------------------------------
470
471 public void columnAdded(TableColumnModelEvent event)
472 {
473 ((TableColumnModelListener) a).columnAdded(event);
474 ((TableColumnModelListener) b).columnAdded(event);
475 }
476
477 public void columnRemoved(TableColumnModelEvent event)
478 {
479 ((TableColumnModelListener) a).columnRemoved(event);
480 ((TableColumnModelListener) b).columnRemoved(event);
481 }
482
483 public void columnMoved(TableColumnModelEvent event)
484 {
485 ((TableColumnModelListener) a).columnMoved(event);
486 ((TableColumnModelListener) b).columnMoved(event);
487 }
488
489 public void columnMarginChanged(ChangeEvent event)
490 {
491 ((TableColumnModelListener) a).columnMarginChanged(event);
492 ((TableColumnModelListener) b).columnMarginChanged(event);
493 }
494
495 public void columnSelectionChanged(ListSelectionEvent event)
496 {
497 ((TableColumnModelListener) a).columnSelectionChanged(event);
498 ((TableColumnModelListener) b).columnSelectionChanged(event);
499 }
500
501 public static TableColumnModelListener add(TableColumnModelListener a, TableColumnModelListener b)
502 {
503 return (TableColumnModelListener) addInternal(a, b);
504 }
505
506 public static TableColumnModelListener remove(TableColumnModelListener l, TableColumnModelListener oldl)
507 {
508 return (TableColumnModelListener) removeInternal(l, oldl);
509 }
510
511 // ---------------------------------------------------
512 // TableModelListener
513 // ---------------------------------------------------
514
515 public void tableChanged(TableModelEvent event)
516 {
517 ((TableModelListener) a).tableChanged(event);
518 ((TableModelListener) b).tableChanged(event);
519 }
520
521 public static TableModelListener add(TableModelListener a, TableModelListener b)
522 {
523 return (TableModelListener) addInternal(a, b);
524 }
525
526 public static TableModelListener remove(TableModelListener l, TableModelListener oldl)
527 {
528 return (TableModelListener) removeInternal(l, oldl);
529 }
530
531 // ---------------------------------------------------
532 // TreeExpansionListener
533 // ---------------------------------------------------
534
535 public void treeExpanded(TreeExpansionEvent event)
536 {
537 ((TreeExpansionListener) a).treeExpanded(event);
538 ((TreeExpansionListener) b).treeExpanded(event);
539 }
540
541 public void treeCollapsed(TreeExpansionEvent event)
542 {
543 ((TreeExpansionListener) a).treeCollapsed(event);
544 ((TreeExpansionListener) b).treeCollapsed(event);
545 }
546
547 public static TreeExpansionListener add(TreeExpansionListener a, TreeExpansionListener b)
548 {
549 return (TreeExpansionListener) addInternal(a, b);
550 }
551
552 public static TreeExpansionListener remove(TreeExpansionListener l, TreeExpansionListener oldl)
553 {
554 return (TreeExpansionListener) removeInternal(l, oldl);
555 }
556
557 // ---------------------------------------------------
558 // TreeModelListener
559 // ---------------------------------------------------
560
561 public void treeNodesChanged(TreeModelEvent event)
562 {
563 ((TreeModelListener) a).treeNodesChanged(event);
564 ((TreeModelListener) b).treeNodesChanged(event);
565 }
566
567 public void treeNodesInserted(TreeModelEvent event)
568 {
569 ((TreeModelListener) a).treeNodesInserted(event);
570 ((TreeModelListener) b).treeNodesInserted(event);
571 }
572
573 public void treeNodesRemoved(TreeModelEvent event)
574 {
575 ((TreeModelListener) a).treeNodesRemoved(event);
576 ((TreeModelListener) b).treeNodesRemoved(event);
577 }
578
579 public void treeStructureChanged(TreeModelEvent event)
580 {
581 ((TreeModelListener) a).treeStructureChanged(event);
582 ((TreeModelListener) b).treeStructureChanged(event);
583 }
584
585 public static TreeModelListener add(TreeModelListener a, TreeModelListener b)
586 {
587 return (TreeModelListener) addInternal(a, b);
588 }
589
590 public static TreeModelListener remove(TreeModelListener l, TreeModelListener oldl)
591 {
592 return (TreeModelListener) removeInternal(l, oldl);
593 }
594
595 // ---------------------------------------------------
596 // TreeSelectionListener
597 // ---------------------------------------------------
598
599 public void valueChanged(TreeSelectionEvent event)
600 {
601 ((TreeSelectionListener) a).valueChanged(event);
602 ((TreeSelectionListener) b).valueChanged(event);
603 }
604
605 public static TreeSelectionListener add(TreeSelectionListener a, TreeSelectionListener b)
606 {
607 return (TreeSelectionListener) addInternal(a, b);
608 }
609
610 public static TreeSelectionListener remove(TreeSelectionListener l, TreeSelectionListener oldl)
611 {
612 return (TreeSelectionListener) removeInternal(l, oldl);
613 }
614
615 // ---------------------------------------------------
616 // TreeWillExpandListener
617 // ---------------------------------------------------
618
619 public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException
620 {
621 ((TreeWillExpandListener) a).treeWillExpand(event);
622 ((TreeWillExpandListener) b).treeWillExpand(event);
623 }
624
625 public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException
626 {
627 ((TreeWillExpandListener) a).treeWillCollapse(event);
628 ((TreeWillExpandListener) b).treeWillCollapse(event);
629 }
630
631 public static TreeWillExpandListener add(TreeWillExpandListener a, TreeWillExpandListener b)
632 {
633 return (TreeWillExpandListener) addInternal(a, b);
634 }
635
636 public static TreeWillExpandListener remove(TreeWillExpandListener l, TreeWillExpandListener oldl)
637 {
638 return (TreeWillExpandListener) removeInternal(l, oldl);
639 }
640
641 // ---------------------------------------------------
642 // UndoableEditListener
643 // ---------------------------------------------------
644
645 public void undoableEditHappened(UndoableEditEvent event)
646 {
647 ((UndoableEditListener) a).undoableEditHappened(event);
648 ((UndoableEditListener) b).undoableEditHappened(event);
649 }
650
651 public static UndoableEditListener add(UndoableEditListener a, UndoableEditListener b)
652 {
653 return (UndoableEditListener) addInternal(a, b);
654 }
655
656 public static UndoableEditListener remove(UndoableEditListener l, UndoableEditListener oldl)
657 {
658 return (UndoableEditListener) removeInternal(l, oldl);
659 }
660
661 // ---------------------------------------------------
662 // Internal Methods
663 // ---------------------------------------------------
664
665 protected static EventListener addInternal(EventListener a, EventListener b)
666 {
667 if (a == null)
668 return b;
669 if (b == null)
670 return a;
671 return new SwingEventMulticaster(a, b);
672 }
673
674 protected static EventListener removeInternal(EventListener l, EventListener oldl)
675 {
676 if (l == oldl || l == null)
677 {
678 return null;
679 }
680 else if (l instanceof SwingEventMulticaster)
681 {
682 return ((SwingEventMulticaster) l).remove(oldl);
683 }
684 else
685 {
686 return l;
687 }
688 }
689
690 }
This page was automatically generated by Maven