This patch (committed) implements some stubbed methods in AccessibleJProgressBar (these are almost the same as the AccessibleJSlider methods I committed earlier):

2006-03-23  David Gilbert  <[EMAIL PROTECTED]>

        * javax/swing/JProgressBar.java
        (AccessibleJProgressBar.getAccessibleStateSet): Implemented,
        (AccessibleJProgressBar.getAccessibleRole): Added API docs,
        (AccessibleJProgressBar.getAccessibleValue): Implemented,
        (AccessibleJProgressBar.getCurrentAccessibleValue): Likewise,
        (AccessibleJProgressBar.setCurrentAccessibleValue): Likewise,
        (AccessibleJProgressBar.getMinimumAccessibleValue): Likewise,
        (AccessibleJProgressBar.getMaximumAccessibleValue): Likewise,
        (getAccessibleContext): Added API docs.

Regards,

Dave
Index: javax/swing/JProgressBar.java
===================================================================
RCS file: /sources/classpath/classpath/javax/swing/JProgressBar.java,v
retrieving revision 1.18
diff -u -r1.18 JProgressBar.java
--- javax/swing/JProgressBar.java       13 Mar 2006 21:33:37 -0000      1.18
+++ javax/swing/JProgressBar.java       23 Mar 2006 21:15:55 -0000
@@ -39,10 +39,12 @@
 package javax.swing;
 
 import java.awt.Graphics;
+import java.beans.PropertyChangeEvent;
 
 import javax.accessibility.Accessible;
 import javax.accessibility.AccessibleContext;
 import javax.accessibility.AccessibleRole;
+import javax.accessibility.AccessibleState;
 import javax.accessibility.AccessibleStateSet;
 import javax.accessibility.AccessibleValue;
 import javax.swing.border.Border;
@@ -79,17 +81,16 @@
                                                         Accessible
 {
   /**
-   * AccessibleJProgressBar
+   * Provides the accessibility features for the <code>JProgressBar</code>
+   * component.
    */
-  // FIXME: This inner class is a complete stub and needs to be implemented
-  // properly.
   protected class AccessibleJProgressBar extends AccessibleJComponent
     implements AccessibleValue
   {
     private static final long serialVersionUID = -2938130009392721813L;
   
     /**
-     * Constructor AccessibleJProgressBar
+     * Creates a new <code>AccessibleJProgressBar</code> instance.
      */
     protected AccessibleJProgressBar()
     {
@@ -97,19 +98,25 @@
     } 
 
     /**
-     * getAccessibleStateSet
+     * Returns a set containing the current state of the [EMAIL PROTECTED] 
JProgressBar} 
+     * component.
      *
-     * @return AccessibleStateSet
+     * @return The accessible state set.
      */
     public AccessibleStateSet getAccessibleStateSet()
     {
-      return null; 
+      AccessibleStateSet result = super.getAccessibleStateSet();
+      if (orientation == JProgressBar.HORIZONTAL)
+        result.add(AccessibleState.HORIZONTAL);
+      else if (orientation == JProgressBar.VERTICAL)
+        result.add(AccessibleState.VERTICAL);
+      return result;
     } 
 
     /**
-     * getAccessibleRole
+     * Returns the accessible role for the <code>JProgressBar</code> component.
      *
-     * @return AccessibleRole
+     * @return [EMAIL PROTECTED] AccessibleRole#PROGRESS_BAR}.
      */
     public AccessibleRole getAccessibleRole()
     {
@@ -117,56 +124,71 @@
     } 
 
     /**
-     * getAccessibleValue
+     * Returns an object that provides access to the current, minimum and 
+     * maximum values.
      *
-     * @return AccessibleValue
+     * @return The accessible value.
      */
     public AccessibleValue getAccessibleValue()
     {
-      return null;
+      return this;
     } 
 
     /**
-     * getCurrentAccessibleValue
+     * Returns the current value of the [EMAIL PROTECTED] JProgressBar} 
component, as an
+     * [EMAIL PROTECTED] Integer}.
      *
-     * @return Number
+     * @return The current value of the [EMAIL PROTECTED] JProgressBar} 
component.
      */
     public Number getCurrentAccessibleValue()
     {
-      return null;
-    } 
+      return new Integer(getValue());
+    }
 
     /**
-     * setCurrentAccessibleValue
+     * Sets the current value of the [EMAIL PROTECTED] JProgressBar} component 
and sends a
+     * [EMAIL PROTECTED] PropertyChangeEvent} (with the property name 
+     * [EMAIL PROTECTED] AccessibleContext#ACCESSIBLE_VALUE_PROPERTY}) to all 
registered
+     * listeners.  If the supplied value is <code>null</code>, this method 
+     * does nothing and returns <code>false</code>.
      *
-     * @param value0 TODO
+     * @param value  the new progress bar value (<code>null</code> permitted).
      *
-     * @return boolean
+     * @return <code>true</code> if the slider value is updated, and 
+     *     <code>false</code> otherwise.
      */
-    public boolean setCurrentAccessibleValue(Number value0)
+    public boolean setCurrentAccessibleValue(Number value)
     {
-      return false; 
-    } 
+      if (value == null)
+        return false;
+      Number oldValue = getCurrentAccessibleValue();
+      setValue(value.intValue());
+      firePropertyChange(AccessibleContext.ACCESSIBLE_VALUE_PROPERTY, 
oldValue, 
+                         new Integer(getValue()));
+      return true;
+    }
 
     /**
-     * getMinimumAccessibleValue
+     * Returns the minimum value of the [EMAIL PROTECTED] JProgressBar} 
component, as an
+     * [EMAIL PROTECTED] Integer}.
      *
-     * @return Number
+     * @return The minimum value of the [EMAIL PROTECTED] JProgressBar} 
component.
      */
     public Number getMinimumAccessibleValue()
     {
-      return null; 
-    } 
+      return new Integer(getMinimum());
+    }
 
     /**
-     * getMaximumAccessibleValue
+     * Returns the maximum value of the [EMAIL PROTECTED] JProgressBar} 
component, as an
+     * [EMAIL PROTECTED] Integer}.
      *
-     * @return Number
+     * @return The maximum value of the [EMAIL PROTECTED] JProgressBar} 
component.
      */
     public Number getMaximumAccessibleValue()
     {
-      return null; 
-    } 
+      return new Integer(getMaximum());
+    }
   } 
 
   private static final long serialVersionUID = 1980046021813598781L;
@@ -654,9 +676,11 @@
   }
 
   /**
-   * DOCUMENT ME!
+   * Returns the object that provides accessibility features for this
+   * <code>JProgressBar</code> component.
    *
-   * @return DOCUMENT ME!
+   * @return The accessible context (an instance of 
+   *     [EMAIL PROTECTED] AccessibleJProgressBar}).
    */
   public AccessibleContext getAccessibleContext()
   {

Reply via email to