1 16 17 package org.mc4j.console.swing.treetable; 18 19 import java.util.EventObject ; 20 21 import javax.swing.CellEditor ; 22 import javax.swing.event.CellEditorListener ; 23 import javax.swing.event.ChangeEvent ; 24 import javax.swing.event.EventListenerList ; 25 26 public class AbstractCellEditor implements CellEditor { 27 28 protected EventListenerList listenerList = new EventListenerList (); 29 30 public Object getCellEditorValue() { return null; } 31 public boolean isCellEditable(EventObject e) { return true; } 32 public boolean shouldSelectCell(EventObject anEvent) { return false; } 33 public boolean stopCellEditing() { return true; } 34 public void cancelCellEditing() {} 35 36 public void addCellEditorListener(CellEditorListener l) { 37 listenerList.add(CellEditorListener .class, l); 38 } 39 40 public void removeCellEditorListener(CellEditorListener l) { 41 listenerList.remove(CellEditorListener .class, l); 42 } 43 44 49 protected void fireEditingStopped() { 50 Object [] listeners = listenerList.getListenerList(); 52 for (int i = listeners.length-2; i>=0; i-=2) { 55 if (listeners[i]==CellEditorListener .class) { 56 ((CellEditorListener )listeners[i+1]).editingStopped(new ChangeEvent (this)); 57 } 58 } 59 } 60 61 66 protected void fireEditingCanceled() { 67 Object [] listeners = listenerList.getListenerList(); 69 for (int i = listeners.length-2; i>=0; i-=2) { 72 if (listeners[i]==CellEditorListener .class) { 73 ((CellEditorListener )listeners[i+1]).editingCanceled(new ChangeEvent (this)); 74 } 75 } 76 } 77 } 78 | Popular Tags |