--- /home/cpdev/src/classpath/javax/swing/JComponent.java	2005-07-05 05:32:33.000000000 +0000
+++ javax/swing/JComponent.java	2005-06-30 05:35:09.000000000 +0000
@@ -46,7 +46,6 @@
 import java.awt.FlowLayout;
 import java.awt.Font;
 import java.awt.Graphics;
-import java.awt.Graphics2D;
 import java.awt.Image;
 import java.awt.Insets;
 import java.awt.Point;
@@ -74,12 +73,10 @@
 
 import javax.accessibility.Accessible;
 import javax.accessibility.AccessibleContext;
-import javax.accessibility.AccessibleExtendedComponent;
 import javax.accessibility.AccessibleKeyBinding;
 import javax.accessibility.AccessibleRole;
 import javax.accessibility.AccessibleStateSet;
 import javax.swing.border.Border;
-import javax.swing.event.AncestorEvent;
 import javax.swing.event.AncestorListener;
 import javax.swing.event.EventListenerList;
 import javax.swing.event.SwingPropertyChangeSupport;
@@ -101,11 +98,11 @@
   /** 
    * Accessibility support is currently missing.
    */
+
   protected AccessibleContext accessibleContext;
 
   public abstract class AccessibleJComponent 
     extends AccessibleAWTContainer
-    implements AccessibleExtendedComponent
   {
     protected class AccessibleFocusHandler 
       implements FocusListener
@@ -164,6 +161,7 @@
    */
   Dimension maximumSize;
 
+
   /**
    * A value between 0.0 and 1.0 indicating the preferred horizontal
    * alignment of the component, relative to its siblings. The values
@@ -347,6 +345,7 @@
    */
   private static final Object paintLock = new Object();
 
+
   /**
    * The default locale of the component.
    * 
@@ -389,6 +388,7 @@
    */
   public static final int WHEN_IN_FOCUSED_WINDOW = 2;
 
+
   /**
    * Creates a new <code>JComponent</code> instance.
    */
@@ -399,7 +399,6 @@
     setDropTarget(new DropTarget());
     defaultLocale = Locale.getDefault();
     debugGraphicsOptions = DebugGraphics.NONE_OPTION;
-    setRequestFocusEnabled(true);
   }
 
   /**
@@ -610,12 +609,12 @@
    * @param property The property to return the listeners of
    *
    * @return The set of <code>PropertyChangeListener</code> objects in 
-   *     {@link #changeSupport} registered to listen on the specified property
+   * {@link #changeSupport} registered to listen on the specified propert
    */
   public PropertyChangeListener[] getPropertyChangeListeners(String property)
   {
     return changeSupport == null ? new PropertyChangeListener[0]
-                          : changeSupport.getPropertyChangeListeners(property);
+                                 : changeSupport.getPropertyChangeListeners(property);
   }
 
   /**
@@ -753,9 +752,9 @@
     throws PropertyVetoException
   {
     VetoableChangeListener[] listeners = getVetoableChangeListeners();
-
+    
     PropertyChangeEvent evt = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
-
+    
     for (int i = 0; i < listeners.length; i++)
       listeners[i].vetoableChange(evt);
   }
@@ -770,6 +769,7 @@
     return null;
   }
 
+
   /**
    * Get the value of the {@link #alignmentX} property.
    *
@@ -807,7 +807,8 @@
   }
 
   /**
-   * Set the value of the {@link #border} property.
+   * Set the value of the {@link #border} property, revalidate
+   * and repaint this component.
    *   
    * @param newBorder The new value of the property
    *
@@ -818,6 +819,8 @@
     Border oldBorder = border;
     border = newBorder;
     firePropertyChange("border", oldBorder, newBorder);
+    revalidate();
+    repaint();
   }
 
   /**
@@ -869,11 +872,13 @@
    */
   protected Graphics getComponentGraphics(Graphics g)
   {    
-    g.setFont (this.getFont());
-    g.setColor (this.getForeground());
-    return g;
+    Graphics g2 = g.create();
+    g2.setFont(this.getFont());
+    g2.setColor(this.getForeground());
+    return g2;
   }
 
+
   /**
    * Get the value of the {@link #debugGraphicsOptions} property.
    *
@@ -1015,26 +1020,17 @@
    */
   public Dimension getPreferredSize()
   {
-    Dimension prefSize = null;
     if (preferredSize != null)
-      prefSize = preferredSize;
+      return preferredSize;
 
-    else if (ui != null)
+    if (ui != null)
       {
         Dimension s = ui.getPreferredSize(this);
         if (s != null)
-          prefSize = s;
+          return s;
       }
-
-    if (prefSize == null)
-      prefSize = super.getPreferredSize();
-    // make sure that prefSize is not smaller than minSize
-    if (minimumSize != null && prefSize != null
-        && (minimumSize.width > prefSize.width
-            || minimumSize.height > prefSize.height))
-        prefSize = new Dimension(Math.max(minimumSize.width, prefSize.width),
-                                 Math.max(minimumSize.height, prefSize.height));
-    return prefSize;
+    Dimension p = super.getPreferredSize();
+    return p;
   }
 
   /**
@@ -1141,10 +1137,10 @@
    */
   public JToolTip createToolTip()
   {
-    JToolTip toolTip = new JToolTip();
-    toolTip.setComponent(this);
-    toolTip.setTipText(toolTipText);
-
+        JToolTip toolTip = new JToolTip();
+        toolTip.setComponent(this);
+        toolTip.setTipText(toolTipText);
+    
     return toolTip;
   }
 
@@ -1155,7 +1151,7 @@
    * @param event The event the tooltip is being presented in response to
    *
    * @return The point at which to display a tooltip, or <code>null</code>
-   *     if swing is to choose a default location.
+   * if swing is to choose a default location.
    */
   public Point getToolTipLocation(MouseEvent event)
   {
@@ -1177,14 +1173,14 @@
       toolTipText = null;
       return;
     }
-
+                
     // XXX: The tip text doesn't get updated unless you set it to null
     // and then to something not-null. This is consistent with the behaviour
     // of Sun's ToolTipManager.
-
+                        
     String oldText = toolTipText;
     toolTipText = text;
-
+                
     if (oldText == null)
       ToolTipManager.sharedInstance().registerComponent(this);
   }
@@ -1315,10 +1311,10 @@
    * <code>CTRL+TAB</code> and <code>CTRL+SHIFT+TAB</code>.
    *
    * @return <code>true</code> if you want this component to manage its own
-   *     focus, otherwise (by default) <code>false</code>
+   * focus, otherwise (by default) <code>false</code>
    *
    * @deprecated 1.4 Use {@link Component.setFocusTraversalKeys(int,Set)} and
-   *     {@link Container.setFocusCycleRoot(boolean)} instead
+   * {@link Container.setFocusCycleRoot(boolean)} instead
    */
   public boolean isManagingFocus()
   {
@@ -1405,8 +1401,8 @@
    * one of these methods rather than <code>paint</code>.</p>
    *
    * <p>For more details on the painting sequence, see <a
-   * href="http://java.sun.com/products/jfc/tsc/articles/painting/index.html">
-   * this article</a>.</p>
+   * href="http://java.sun.com/products/jfc/tsc/articles/painting/index.html">this
+   * article</a>.</p>
    *
    * @param g The graphics context to paint with
    *
@@ -1497,14 +1493,7 @@
   protected void paintComponent(Graphics g)
   {
     if (ui != null)
-      {
-        Graphics g2 = g;
-        if (!(g instanceof Graphics2D))
-          g2 = g.create();
-        ui.update(getComponentGraphics(g2), this);
-        if (!(g instanceof Graphics2D))
-          g2.dispose();
-      }
+      ui.update(g, this);
   }
 
   /**
@@ -1603,6 +1592,7 @@
    * sun-private solution so I will only immitate it as much as it matters
    * to external observers.
    */
+
   private static class ActionListenerProxy
     extends AbstractAction
   {
@@ -1635,12 +1625,12 @@
    *
    * @param anAction The action to be registered
    * @param aCommand The command to deliver in the delivered {@link
-   *     java.awt.ActionEvent}
+   * java.awt.ActionEvent}
    * @param aKeyStroke The keystroke to register on
    * @param aCondition One of the values {@link #UNDEFINED_CONDITION},
-   *     {@link #WHEN_ANCESTOR_OF_FOCUSED_COMPONENT}, {@link #WHEN_FOCUSED}, or
-   *     {@link #WHEN_IN_FOCUSED_WINDOW}, indicating the condition which must
-   *     be met for the action to be fired
+   * {@link #WHEN_ANCESTOR_OF_FOCUSED_COMPONENT}, {@link #WHEN_FOCUSED}, or
+   * {@link #WHEN_IN_FOCUSED_WINDOW}, indicating the condition which must
+   * be met for the action to be fired
    *
    * @see #unregisterKeyboardAction
    * @see #getConditionForKeystroke
@@ -1654,6 +1644,8 @@
     getInputMap(cond).put(stroke, new ActionListenerProxy(act, cmd));
   }
 
+
+
   public final void setInputMap(int condition, InputMap map)
   {
     enableEvents(AWTEvent.KEY_EVENT_MASK);
@@ -1727,11 +1719,11 @@
    * @param aKeyStroke The keystroke to return the condition of
    *
    * @return One of the values {@link #UNDEFINED_CONDITION}, {@link
-   *     #WHEN_ANCESTOR_OF_FOCUSED_COMPONENT}, {@link #WHEN_FOCUSED}, or {@link
-   *     #WHEN_IN_FOCUSED_WINDOW}
+   * #WHEN_ANCESTOR_OF_FOCUSED_COMPONENT}, {@link #WHEN_FOCUSED}, or {@link
+   * #WHEN_IN_FOCUSED_WINDOW}
    *
    * @deprecated As of 1.3 KeyStrokes can be registered with multiple
-   *     simultaneous conditions.
+   * simultaneous conditions.
    *
    * @see #registerKeyboardAction   
    * @see #unregisterKeyboardAction   
@@ -1787,13 +1779,11 @@
    * the swing {@link InputMap} / {@link ActionMap} system.
    *
    * See <a
-   * href="http://java.sun.com/products/jfc/tsc/special_report/kestrel/keybindings.html">
-   * this report</a> for more details, it's somewhat complex.
+   * href="http://java.sun.com/products/jfc/tsc/special_report/kestrel/keybindings.html">this
+   * report</a> for more details, it's somewhat complex.
    */
   protected void processKeyEvent(KeyEvent e)
   {
-    // let the AWT event processing send KeyEvents to registered listeners
-    super.processKeyEvent(e);
     processComponentKeyEvent(e);
 
     // FIXME: this needs to be elaborated significantly, to do all the
@@ -1841,7 +1831,6 @@
    */
   public void unregisterKeyboardAction(KeyStroke aKeyStroke)
   {
-    // FIXME: Must be implemented.
   }
 
 
@@ -1864,6 +1853,7 @@
       actionMap.clear();
   }
 
+
   /**
    * Mark the described region of this component as dirty in the current
    * {@link RepaintManager}. This will queue an asynchronous repaint using
@@ -1904,8 +1894,8 @@
    *
    * @return The result of {@link #requestFocus}
    *
-   * @deprecated Use {@link #requestFocus()} on the default component provided
-   *     from the {@link FocusTraversalPolicy} instead.
+   * @deprecated Use {@link #requestFocus()} on the default component provided from
+   * the {@link FocusTraversalPolicy} instead.
    */
   public boolean requestDefaultFocus()
   {
@@ -1986,7 +1976,8 @@
   }
 
   /**
-   * Set the value of the {@link #enabled} property.
+   * Set the value of the {@link #enabled} property, revalidate
+   * and repaint this component.
    *
    * @param enable The new value of the property
    */
@@ -1994,41 +1985,53 @@
   {
     boolean oldEnabled = isEnabled();
     super.setEnabled(enable);
-    firePropertyChange("enabled", oldEnabled, enable);
+    firePropertyChange("enabeld", oldEnabled, enable);
+    revalidate();
+    repaint();
   }
 
   /**
-   * Set the value of the {@link #font} property.
+   * Set the value of the {@link #font} property, revalidate
+   * and repaint this component.
    *
    * @param f The new value of the property
    */
   public void setFont(Font f)
   {
     super.setFont(f);
+    revalidate();
+    repaint();
   }
 
   /**
-   * Set the value of the {@link #background} property.
+   * Set the value of the {@link #background} property, revalidate
+   * and repaint this component.
    *
    * @param bg The new value of the property
    */
   public void setBackground(Color bg)
   {
     super.setBackground(bg);
+    revalidate();
+    repaint();
   }
 
   /**
-   * Set the value of the {@link #foreground} property.
+   * Set the value of the {@link #foreground} property, revalidate
+   * and repaint this component.
    *
    * @param fg The new value of the property
    */
   public void setForeground(Color fg)
   {
     super.setForeground(fg);
+    revalidate();
+    repaint();
   }
 
   /**
-   * Set the value of the {@link #maximumSize} property.
+   * Set the value of the {@link #maximumSize} property, revalidate
+   * and repaint this component.
    *
    * @param max The new value of the property
    */
@@ -2037,10 +2040,13 @@
     Dimension oldMaximumSize = maximumSize;
     maximumSize = max;
     firePropertyChange("maximumSize", oldMaximumSize, maximumSize);
+    revalidate();
+    repaint();
   }
 
   /**
-   * Set the value of the {@link #minimumSize} property.
+   * Set the value of the {@link #minimumSize} property, revalidate
+   * and repaint this component.
    *
    * @param min The new value of the property
    */
@@ -2049,10 +2055,13 @@
     Dimension oldMinimumSize = minimumSize;
     minimumSize = min;
     firePropertyChange("minimumSize", oldMinimumSize, minimumSize);
+    revalidate();
+    repaint();
   }
 
   /**
-   * Set the value of the {@link #preferredSize} property.
+   * Set the value of the {@link #preferredSize} property, revalidate
+   * and repaint this component.
    *
    * @param pref The new value of the property
    */
@@ -2118,7 +2127,8 @@
   }
 
   /**
-   * Set the value of the {@link #opaque} property.
+   * Set the value of the {@link #opaque} property, revalidate and repaint
+   * this component.
    *
    * @param isOpaque The new value of the property
    *
@@ -2129,16 +2139,21 @@
     boolean oldOpaque = opaque;
     opaque = isOpaque;
     firePropertyChange("opaque", oldOpaque, opaque);
+    revalidate();
+    repaint();
   }
 
   /**
-   * Set the value of the visible property.
+   * Set the value of the visible property, and revalidate / repaint the
+   * component.
    *
    * @param v The new value of the property
    */
   public void setVisible(boolean v)
   {
     super.setVisible(v);
+    revalidate();
+    repaint();
   }
 
   /**
@@ -2192,6 +2207,8 @@
 
     firePropertyChange("UI", oldUI, newUI);
     
+    revalidate();
+    repaint();
   }
 
   /**
@@ -2259,422 +2276,4 @@
                        ! verifyInputWhenFocusTarget,
                        verifyInputWhenFocusTarget);
   }
-
-  /**
-   * Requests that this component gets the input focus if the
-   * requestFocusEnabled property is set to <code>true</code>.
-   * This also means that this component's top-level window becomes
-   * the focused window, if that is not already the case.
-   *
-   * The preconditions that have to be met to become a focus owner is that
-   * the component must be displayable, visible and focusable.
-   *
-   * Note that this signals only a request for becoming focused. There are
-   * situations in which it is not possible to get the focus. So developers
-   * should not assume that the component has the focus until it receives
-   * a {@link java.awt.event.FocusEvent} with a value of
-   * {@link java.awt.event.FocusEvent.FOCUS_GAINED}.
-   *
-   * @see {@link Component#requestFocus()}
-   */
-  public void requestFocus()
-  {
-    if (isRequestFocusEnabled())
-      super.requestFocus();
-  }
-
-  /**
-   * This method is overridden to make it public so that it can be used
-   * by look and feel implementations.
-   *
-   * You should not use this method directly. Instead you are strongly
-   * encouraged to call {@link #requestFocus} or {@link #requestFocusInWindow}
-   * instead.
-   *
-   * @param temporary if the focus change is temporary
-   *
-   * @return <code>false</code> if the focus change request will definitly
-   *     fail, <code>true</code> if it will likely succeed
-   *
-   * @see {@link Component#requestFocus(boolean)}
-   *
-   * @since 1.4
-   */
-  public boolean requestFocus(boolean temporary)
-  {
-    return super.requestFocus(temporary);
-  }
-
-  /**
-   * Requests that this component gets the input focus if the top level
-   * window that contains this component has the focus and the
-   * requestFocusEnabled property is set to <code>true</code>.
-   *
-   * The preconditions that have to be met to become a focus owner is that
-   * the component must be displayable, visible and focusable.
-   *
-   * Note that this signals only a request for becoming focused. There are
-   * situations in which it is not possible to get the focus. So developers
-   * should not assume that the component has the focus until it receives
-   * a {@link java.awt.event.FocusEvent} with a value of
-   * {@link java.awt.event.FocusEvent.FOCUS_GAINED}.
-   *
-   * @return <code>false</code> if the focus change request will definitly
-   *     fail, <code>true</code> if it will likely succeed
-   *
-   * @see {@link Component#requestFocusInWindow()}
-   */
-  public boolean requestFocusInWindow()
-  {
-    if (isRequestFocusEnabled())
-      return super.requestFocusInWindow();
-    else
-      return false;
-  }
-
-  /**
-   * This method is overridden to make it public so that it can be used
-   * by look and feel implementations.
-   *
-   * You should not use this method directly. Instead you are strongly
-   * encouraged to call {@link #requestFocus} or {@link #requestFocusInWindow}
-   * instead.
-   *
-   * @param temporary if the focus change is temporary
-   *
-   * @return <code>false</code> if the focus change request will definitly
-   *     fail, <code>true</code> if it will likely succeed
-   *
-   * @see {@link Component#requestFocus(boolean)}
-   *
-   * @since 1.4
-   */
-  public boolean requestFocusInWindow(boolean temporary)
-  {
-    return super.requestFocusInWindow(temporary);
-  }
-
-  /**
-   * Receives notification if this component is added to a parent component.
-   *
-   * Notification is sent to all registered AncestorListeners about the
-   * new parent.
-   *
-   * This method sets up ActionListeners for all registered KeyStrokes of
-   * this component in the chain of parent components.
-   *
-   * A PropertyChange event is fired to indicate that the ancestor property
-   * has changed.
-   *
-   * This method is used internally and should not be used in applications.
-   */
-  public void addNotify()
-  {
-    super.addNotify();
-
-    // let parents inherit the keybord mapping
-    InputMap input = getInputMap();
-    ActionMap actions = getActionMap();
-
-    Container parent = getParent();
-    while ((parent != null) && (parent instanceof JComponent))
-      {
-        JComponent jParent = (JComponent) parent;
-        InputMap parentInput = jParent.getInputMap();
-        ActionMap parentAction = jParent.getActionMap();
-
-        KeyStroke[] ikeys = input.keys();
-        for (int i = 0; i < ikeys.length; i++)
-          {
-            Object o = input.get(ikeys[i]);
-            parentInput.put(ikeys[i], o);
-          }
-
-        Object[] akeys = actions.keys();
-        for (int i = 0; i < akeys.length; i++)
-          {
-            Action a = actions.get(akeys[i]);
-            parentAction.put(akeys[i], a);
-          }
-
-        parent = jParent.getParent();
-      }
-
-    // notify ancestor listeners
-    AncestorListener[] ls = getAncestorListeners();
-    AncestorEvent ev = new AncestorEvent(this, AncestorEvent.ANCESTOR_ADDED,
-                                         this, parent);
-    for (int i = 0; i < ls.length; i++)
-      {
-        ls[i].ancestorAdded(ev);
-      }
-
-    // fire property change event for 'ancestor'
-    firePropertyChange("ancestor", null, parent);
-  }
-
-  /**
-   * Receives notification that this component no longer has a parent.
-   *
-   * This method sends an AncestorEvent to all registered AncestorListeners,
-   * notifying them that the parent is gone.
-   *
-   * The keybord actions of this component are removed from the parent and
-   * its ancestors.
-   *
-   * A PropertyChangeEvent is fired to indicate that the 'ancestor' property
-   * has changed.
-   *
-   * This method is called before the component is actually removed from
-   * its parent, so the parent is still visible through {@link #getParent}.
-   */
-  public void removeNotify()
-  {
-    super.removeNotify();
-
-    // let parents inherit the keybord mapping
-    InputMap input = getInputMap();
-    ActionMap actions = getActionMap();
-
-    Container parent = getParent();
-    while ((parent != null) && (parent instanceof JComponent))
-      {
-        JComponent jParent = (JComponent) parent;
-        InputMap parentInput = jParent.getInputMap();
-        ActionMap parentAction = jParent.getActionMap();
-
-        KeyStroke[] ikeys = input.allKeys();
-        for (int i = 0; i < ikeys.length; i++)
-          {
-            parentInput.remove(ikeys[i]);
-          }
-
-        Object[] akeys = actions.allKeys();
-        for (int i = 0; i < akeys.length; i++)
-          {
-            parentAction.remove(akeys[i]);
-          }
-
-        parent = jParent.getParent();
-      }
-
-    // notify ancestor listeners
-    AncestorListener[] ls = getAncestorListeners();
-    AncestorEvent ev = new AncestorEvent(this, AncestorEvent.ANCESTOR_ADDED,
-                                         this, parent);
-    for (int i = 0; i < ls.length; i++)
-      {
-        ls[i].ancestorAdded(ev);
-      }
-
-    // fire property change event for 'ancestor'
-    firePropertyChange("ancestor", parent, null);
-  }
-
-  /**
-   * Returns <code>true</code> if the coordinates (x, y) lie within
-   * the bounds of this component and <code>false</code> otherwise.
-   * x and y are relative to the coordinate space of the component.
-   *
-   * @param x the X coordinate of the point to check
-   * @param y the Y coordinate of the point to check
-   *
-   * @return <code>true</code> if the specified point lies within the bounds
-   *     of this component, <code>false</code> otherwise
-   */
-  public boolean contains(int x, int y)
-  {
-    if (ui == null)
-      return super.contains(x, y);
-    else
-      return ui.contains(this, x, y);
-  }
-
-  /**
-   * Disables this component.
-   *
-   * @deprecated replaced by {@link #setEnabled(boolean)}
-   */
-  public void disable()
-  {
-    super.disable();
-  }
-
-  /**
-   * Enables this component.
-   *
-   * @deprecated replaced by {@link #setEnabled(boolean)}
-   */
-  public void enable()
-  {
-    super.enable();
-  }
-
-  /**
-   * Returns the Graphics context for this component. This can be used
-   * to draw on a component.
-   *
-   * @return the Graphics context for this component
-   */
-  public Graphics getGraphics()
-  {
-    return super.getGraphics();
-  }
-
-  /**
-   * Returns the X coordinate of the upper left corner of this component.
-   * Prefer this method over {@link #getBounds} or {@link #getLocation}
-   * because it does not cause any heap allocation.
-   *
-   * @return the X coordinate of the upper left corner of the component
-   */
-  public int getX()
-  {
-    return super.getX();
-  }
-
-  /**
-   * Returns the Y coordinate of the upper left corner of this component.
-   * Prefer this method over {@link #getBounds} or {@link #getLocation}
-   * because it does not cause any heap allocation.
-   *
-   * @return the Y coordinate of the upper left corner of the component
-   */
-  public int getY()
-  {
-    return super.getY();
-  }
-
-  /**
-   * Returns the height of this component. Prefer this method over
-   * {@link #getBounds} or {@link #getSize} because it does not cause
-   * any heap allocation.
-   *
-   * @return the height of the component
-   */
-  public int getHeight()
-  {
-    return super.getHeight();
-  }
-
-  /**
-   * Returns the width of this component. Prefer this method over
-   * {@link #getBounds} or {@link #getSize} because it does not cause
-   * any heap allocation.
-   *
-   * @return the width of the component
-   */
-  public int getWidth()
-  {
-    return super.getWidth();
-  }
-
-  /**
-   * Return all <code>PropertyChangeListener</code> objects registered.
-   *
-   * @return The set of <code>PropertyChangeListener</code> objects
-   */
-  public PropertyChangeListener[] getPropertyChangeListeners()
-  {
-    if (changeSupport == null)
-      return new PropertyChangeListener[0];
-    else
-      return changeSupport.getPropertyChangeListeners();
-  }
-
-  /**
-   * Prints this component to the given Graphics context. A call to this
-   * method results in calls to the methods {@link #printComponent},
-   * {@link #printBorder} and {@link printChildren} in this order.
-   *
-   * Double buffering is temporarily turned off so the painting goes directly
-   * to the supplied Graphics context.
-   *
-   * @param g the Graphics context to print onto
-   */
-  public void print(Graphics g)
-  {
-    boolean doubleBufferState = isDoubleBuffered();
-    setDoubleBuffered(false);
-    printComponent(g);
-    printBorder(g);
-    printChildren(g);
-    setDoubleBuffered(doubleBufferState);
-  }
-
-  /**
-   * Prints this component to the given Graphics context. This invokes
-   * {@link #print}.
-   *
-   * @param g the Graphics context to print onto
-   */
-  public void printAll(Graphics g)
-  {
-    print(g);
-  }
-
-  /**
-   * Prints this component to the specified Graphics context. The default
-   * behaviour is to invoke {@link #paintComponent}. Override this
-   * if you want special behaviour for printing.
-   *
-   * @param g the Graphics context to print onto
-   *
-   * @since 1.3
-   */
-  public void printComponent(Graphics g)
-  {
-    paintComponent(g);
-  }
-
-  /**
-   * Print this component's children to the specified Graphics context.
-   * The default behaviour is to invoke {@link #paintChildren}. Override this
-   * if you want special behaviour for printing.
-   *
-   * @param g the Graphics context to print onto
-   *
-   * @since 1.3
-   */
-  public void printChildren(Graphics g)
-  {
-    paintChildren(g);
-  }
-
-  /**
-   * Print this component's border to the specified Graphics context.
-   * The default behaviour is to invoke {@link #paintBorder}. Override this
-   * if you want special behaviour for printing.
-   *
-   * @param g the Graphics context to print onto
-   *
-   * @since 1.3
-   */
-  public void printBorder(Graphics g)
-  {
-    paintBorder(g);
-  }
-
-  /**
-   * Processes mouse motion event, like dragging and moving.
-   *
-   * @param ev the MouseEvent describing the mouse motion
-   */
-  protected void processMouseMotionEvent(MouseEvent ev)
-  {
-    super.processMouseMotionEvent(ev);
-  }
-
-  /**
-   * Moves and resizes the component.
-   *
-   * @param x the new horizontal location
-   * @param y the new vertial location
-   * @param w the new width
-   * @param h the new height
-   */
-  public void reshape(int x, int y, int w, int h)
-  {
-    super.reshape(x, y, w, h);
-  }
 }
