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