Index: ChangeLog =================================================================== RCS file: /cvsroot/classpath/classpath/ChangeLog,v retrieving revision 1.2433 diff -u -3 -p -u -r1.2433 ChangeLog --- ChangeLog 22 Aug 2004 21:19:54 -0000 1.2433 +++ ChangeLog 24 Aug 2004 01:11:30 -0000 @@ -1,3 +1,9 @@ +2004-08-24 Andrew John Hughes
+ + * java/awt/Label.java, java/awt/Canvas.java + Added accessibility classes to AWT Label and Canvas, + as well as additional documentation for Canvas. + 2004-08-22 Patrik Reali * doc/www.gnu.org/newsitems.txt: news on JSpinner and java crypto Index: java/awt/Canvas.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/awt/Canvas.java,v retrieving revision 1.6 diff -u -3 -p -u -r1.6 Canvas.java --- java/awt/Canvas.java 22 Jan 2002 22:26:58 -0000 1.6 +++ java/awt/Canvas.java 24 Aug 2004 01:11:30 -0000 @@ -37,17 +37,60 @@ exception statement from your version. * package java.awt; +import java.awt.image.BufferStrategy; import java.awt.peer.ComponentPeer; - -public class Canvas extends Component implements java.io.Serializable +import java.io.Serializable; +import javax.accessibility.Accessible; +import javax.accessibility.AccessibleContext; +import javax.accessibility.AccessibleRole; + +/** + * TheCanvas
component provides a blank rectangular
+ * area, which the client application can use for drawing and for
+ * capturing events. By overriding the paint()
method,
+ * the canvas can be used for anything from simple line drawings to
+ * full-scale custom components.
+ *
+ * @author Original author unknown
+ * @author Tom Tromey
+ * @author Andrew John Hughes
+ * @since 1.0
+ */
+
+public class Canvas
+ extends Component
+ implements Serializable, Accessible
{
+
+ /**
+ * Compatible with Sun's JDK.
+ */
+ private static final long serialVersionUID = -2284879212465893870L;
+
+ /**
+ * The graphics configuration associated with the canvas.
+ */
transient GraphicsConfiguration graphicsConfiguration;
/**
+ * The buffer strategy associated with this canvas.
+ */
+ transient BufferStrategy bufferStrategy;
+
+ /**
* Initializes a new instance of Canvas
.
*/
- public Canvas() { }
+ public Canvas()
+ {
+ }
+ /**
+ * Initializes a new instance of Canvas
+ * with the supplied graphics configuration.
+ *
+ * @param graphicsConfiguration the graphics configuration to use
+ * for this particular canvas.
+ */
public Canvas(GraphicsConfiguration graphicsConfiguration)
{
this.graphicsConfiguration = graphicsConfiguration;
@@ -71,7 +114,7 @@ public class Canvas extends Component im
}
/**
- * Repaints the canvas window. This method should be overriden by
+ * Repaints the canvas window. This method should be overridden by
* a subclass to do something useful, as this method simply paints
* the window with the background color.
*/
@@ -86,6 +129,83 @@ public class Canvas extends Component im
gfx.fillRect(0, 0, size.width, size.height);
}
- // Serialization constant
- private static final long serialVersionUID = -2284879212465893870L;
+
+ /**
+ * This class provides accessibility support for the canvas.
+ */
+ protected class AccessibleAWTCanvas
+ extends AccessibleAWTComponent
+ {
+
+ /**
+ * Constructor for the accessible canvas.
+ */
+ protected AccessibleAWTCanvas()
+ {
+ }
+
+ /**
+ * Returns the accessible role for the canvas.
+ *
+ * @return an instance of AccessibleRole
, describing
+ * the role of the canvas.
+ */
+ public AccessibleRole getAccessibleRole()
+ {
+ return AccessibleRole.CANVAS;
+ }
+
+ }
+
+ /**
+ * Gets the AccessibleContext associated with this Canvas
.
+ * The context is created, if necessary.
+ *
+ * @return the associated context
+ */
+ public AccessibleContext getAccessibleContext()
+ {
+ /* Create the context if this is the first request */
+ if (accessibleContext == null)
+ {
+ /* Create the context */
+ accessibleContext = new AccessibleAWTCanvas();
+ }
+ return accessibleContext;
+ }
+
+ /**
+ * Returns the buffer strategy used by the canvas.
+ *
+ * @return the buffer strategy.
+ * @since 1.4
+ */
+ public BufferStrategy getBufferStrategy()
+ {
+ return bufferStrategy;
+ }
+
+ /**
+ * Updates the canvas in response to a request to
+ * repaint()
it. The canvas is cleared
+ * with the current background colour, before paint()
+ * is called to add the new contents. Subclasses
+ * which override this method should either call this
+ * method via super.update(graphics)
or re-implement
+ * this behaviour, so as to ensure that the canvas is
+ * clear before painting takes place.
+ *
+ * @param graphics the graphics context.
+ */
+ public void update(Graphics graphics)
+ {
+ Dimension size;
+
+ /* Clear the canvas */
+ size = getSize();
+ graphics.clearRect(0, 0, size.width, size.height);
+ /* Call the paint method */
+ paint(graphics);
+ }
+
}
Index: java/awt/Label.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/Label.java,v
retrieving revision 1.12
diff -u -3 -p -u -r1.12 Label.java
--- java/awt/Label.java 3 Jun 2003 16:40:37 -0000 1.12
+++ java/awt/Label.java 24 Aug 2004 01:11:30 -0000
@@ -40,13 +40,16 @@ package java.awt;
import java.awt.peer.LabelPeer;
import javax.accessibility.Accessible;
+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleRole;
/**
* This component is used for displaying simple text strings that cannot
- * be edited.
+ * be edited by the user.
*
* @author Aaron M. Renn (address@hidden)
* @author Tom Tromey
+ * @author Andrew John Hughes
*/
public class Label extends Component implements Accessible
{
@@ -249,5 +252,60 @@ paramString()
getAlignment() + "," + super.paramString());
}
+/**
+ * This class provides accessibility support for the label.
+ */
+protected class AccessibleAWTLabel
+ extends AccessibleAWTComponent
+{
+ /**
+ * Constructor for the accessible label.
+ */
+ public AccessibleAWTLabel()
+ {
+ }
+
+ /**
+ * Returns the accessible name for the label. This is
+ * the text used in the label.
+ *
+ * @return a String
containing the accessible
+ * name for this label.
+ */
+ public String getAccessibleName()
+ {
+ return getText();
+ }
+
+ /**
+ * Returns the accessible role for the label.
+ *
+ * @return an instance of AccessibleRole
, describing
+ * the role of the label.
+ */
+ public AccessibleRole getAccessibleRole()
+ {
+ return AccessibleRole.LABEL;
+ }
+
+}
+
+/**
+ * Gets the AccessibleContext associated with this Label
.
+ * The context is created, if necessary.
+ *
+ * @return the associated context
+ */
+public AccessibleContext getAccessibleContext()
+{
+ /* Create the context if this is the first request */
+ if (accessibleContext == null)
+ {
+ /* Create the context */
+ accessibleContext = new AccessibleAWTLabel();
+ }
+ return accessibleContext;
+}
+
} // class Label