home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / DefaultCellEditor.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  4.6 KB  |  142 lines

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.swing.event.CellEditorListener;
  4. import com.sun.java.swing.event.ChangeEvent;
  5. import com.sun.java.swing.event.EventListenerList;
  6. import com.sun.java.swing.table.TableCellEditor;
  7. import com.sun.java.swing.tree.TreeCellEditor;
  8. import java.awt.Component;
  9. import java.awt.event.MouseEvent;
  10. import java.io.Serializable;
  11. import java.util.EventObject;
  12.  
  13. public class DefaultCellEditor implements TableCellEditor, TreeCellEditor, Serializable {
  14.    protected EventListenerList listenerList = new EventListenerList();
  15.    protected transient ChangeEvent changeEvent;
  16.    protected JComponent editorComponent;
  17.    protected EditorDelegate delegate;
  18.    protected int clickCountToStart = 1;
  19.    // $FF: synthetic field
  20.    static Class class$com$sun$java$swing$event$CellEditorListener;
  21.  
  22.    public DefaultCellEditor(JTextField var1) {
  23.       this.editorComponent = var1;
  24.       this.clickCountToStart = 2;
  25.       this.delegate = new 1(this, this);
  26.       ((JTextField)this.editorComponent).addActionListener(this.delegate);
  27.    }
  28.  
  29.    public DefaultCellEditor(JCheckBox var1) {
  30.       this.editorComponent = var1;
  31.       this.delegate = new 2(this, this);
  32.       ((JCheckBox)this.editorComponent).addActionListener(this.delegate);
  33.    }
  34.  
  35.    public DefaultCellEditor(JComboBox var1) {
  36.       this.editorComponent = var1;
  37.       this.delegate = new 3(this, this);
  38.       ((JComboBox)this.editorComponent).addItemListener(this.delegate);
  39.    }
  40.  
  41.    public Component getComponent() {
  42.       return this.editorComponent;
  43.    }
  44.  
  45.    public void setClickCountToStart(int var1) {
  46.       this.clickCountToStart = var1;
  47.    }
  48.  
  49.    public int getClickCountToStart() {
  50.       return this.clickCountToStart;
  51.    }
  52.  
  53.    public Object getCellEditorValue() {
  54.       return this.delegate.getCellEditorValue();
  55.    }
  56.  
  57.    public boolean isCellEditable(EventObject var1) {
  58.       return var1 instanceof MouseEvent && ((MouseEvent)var1).getClickCount() < this.clickCountToStart ? false : this.delegate.isCellEditable(var1);
  59.    }
  60.  
  61.    public boolean shouldSelectCell(EventObject var1) {
  62.       boolean var2 = true;
  63.       if (this.isCellEditable(var1) && (var1 == null || ((MouseEvent)var1).getClickCount() >= this.clickCountToStart)) {
  64.          var2 = this.delegate.startCellEditing(var1);
  65.       }
  66.  
  67.       return var2;
  68.    }
  69.  
  70.    public boolean stopCellEditing() {
  71.       boolean var1 = this.delegate.stopCellEditing();
  72.       if (var1) {
  73.          this.fireEditingStopped();
  74.       }
  75.  
  76.       return var1;
  77.    }
  78.  
  79.    public void cancelCellEditing() {
  80.       this.delegate.cancelCellEditing();
  81.       this.fireEditingCanceled();
  82.    }
  83.  
  84.    public void addCellEditorListener(CellEditorListener var1) {
  85.       this.listenerList.add(class$com$sun$java$swing$event$CellEditorListener != null ? class$com$sun$java$swing$event$CellEditorListener : (class$com$sun$java$swing$event$CellEditorListener = class$("com.sun.java.swing.event.CellEditorListener")), var1);
  86.    }
  87.  
  88.    public void removeCellEditorListener(CellEditorListener var1) {
  89.       this.listenerList.remove(class$com$sun$java$swing$event$CellEditorListener != null ? class$com$sun$java$swing$event$CellEditorListener : (class$com$sun$java$swing$event$CellEditorListener = class$("com.sun.java.swing.event.CellEditorListener")), var1);
  90.    }
  91.  
  92.    protected void fireEditingStopped() {
  93.       Object[] var1 = this.listenerList.getListenerList();
  94.  
  95.       for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
  96.          if (var1[var2] == (class$com$sun$java$swing$event$CellEditorListener != null ? class$com$sun$java$swing$event$CellEditorListener : (class$com$sun$java$swing$event$CellEditorListener = class$("com.sun.java.swing.event.CellEditorListener")))) {
  97.             if (this.changeEvent == null) {
  98.                this.changeEvent = new ChangeEvent(this);
  99.             }
  100.  
  101.             ((CellEditorListener)var1[var2 + 1]).editingStopped(this.changeEvent);
  102.          }
  103.       }
  104.  
  105.    }
  106.  
  107.    protected void fireEditingCanceled() {
  108.       Object[] var1 = this.listenerList.getListenerList();
  109.  
  110.       for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
  111.          if (var1[var2] == (class$com$sun$java$swing$event$CellEditorListener != null ? class$com$sun$java$swing$event$CellEditorListener : (class$com$sun$java$swing$event$CellEditorListener = class$("com.sun.java.swing.event.CellEditorListener")))) {
  112.             if (this.changeEvent == null) {
  113.                this.changeEvent = new ChangeEvent(this);
  114.             }
  115.  
  116.             ((CellEditorListener)var1[var2 + 1]).editingCanceled(this.changeEvent);
  117.          }
  118.       }
  119.  
  120.    }
  121.  
  122.    public Component getTreeCellEditorComponent(JTree var1, Object var2, boolean var3, boolean var4, boolean var5, int var6) {
  123.       String var7 = var1.convertValueToText(var2, var3, var4, var5, var6, false);
  124.       this.delegate.setValue(var7);
  125.       return this.editorComponent;
  126.    }
  127.  
  128.    public Component getTableCellEditorComponent(JTable var1, Object var2, boolean var3, int var4, int var5) {
  129.       this.delegate.setValue(var2);
  130.       return this.editorComponent;
  131.    }
  132.  
  133.    // $FF: synthetic method
  134.    static Class class$(String var0) {
  135.       try {
  136.          return Class.forName(var0);
  137.       } catch (ClassNotFoundException var2) {
  138.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  139.       }
  140.    }
  141. }
  142.