Find JSRs
Submit this Search

Ad Banner

JSRs: Java Specification Requests
JSR 209: Advanced Graphics and User Interface Optional Package for the J2METM Platform

NOTICE: Please be aware the CDC 1.0 specification initially related to this JSR has been replace (superseded) with the newer CDC 1.1 specification. CDC 1.0 will no longer be supported after 18-Aug-2009. This JSR and other optional technologies based on the CDC 1.0 standards are fully compatible with the CDC 1.1 standards. All development and certification efforts should be updated to use the current, supported technology.

Updates to the Original JSR

The following information has been updated from the original proposal. On 2009.02.27, the Maintenance Lead from Sun Microsystems changed from Bartley Calder to Roger Riggs.

Maintenance Lead: Roger Riggs

E-Mail Address:

Telephone Number: +1 781 442 0539

Fax Number: +1 781 442 1610

On 2006.08.30, Sun was added as co-Spec Lead.

Specification Lead: Bartley Calder

E-Mail Address:

Telephone Number: +1 408 276 6733

Fax Number: +1 408 276 3243

Original Java Specification Request (JSR)

Identification | Request | Contributions

Original Summary: The Advanced Graphics and User Interface (AGUI) Optional Package will migrate the core APIs for advanced graphics and user interface facilities from the J2SE platform to the J2ME platform. These facilities will include: Swing, Java 2D Graphics and Imaging, Image I/O, and Input Method Framework.

Section 1. Identification

Submitting Member: Vodafone Group Services Limited

Name of Contact Person: Andreas Binder

E-Mail Address:

Telephone Number: +49 (89) 95 410 0

Fax Number: +49 (89) 95 410 111

Specification Lead: Andreas Binder

E-Mail Address:

Telephone Number: +49 (89) 95 410 0

Fax Number: +49 (89) 95 410 111

Initial Expert Group Membership:

SavaJe Technologies
Sun Microsystems

Supporting this JSR:

Section 2: Request

2.1 Please describe the proposed Specification:

The Advanced Graphics and User Interface (AGUI) Optional Package will migrate the core APIs for advanced graphics and user interface facilities from the J2SETM platform to the J2METM platform. These facilities will include:

  • Swing
  • Java 2D Graphics and Imaging
  • Image I/O
  • Input Method Framework
Specifically, the essential elements of the following packages from J2SE 1.4.1 will be included in the AGUI Optional Package:
  • javax.swing (and subpackages)
  • java.awt.color
  • java.awt.font
  • java.awt.geom
  • (and subpackages)
  • java.awt.image (and subpackages)
  • javax.imageio (and subpackages)
Additionally, APIs from the J2SE 1.4.1 java.awt package for support of Java 2D facilities that are not currently supported in J2ME platforms will be included in the optional package.

Note that no new APIs will be added to the above packages. Applications written to the resulting API suite will be fully upward-compatible to J2SE.

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

Java 2 Platform, Micro Edition (J2ME)
J2ME Personal Profile
J2ME Personal Basis Profile

2.3 What need of the Java community will be addressed by the proposed specification?

Current J2ME platforms such as Personal Profile and Personal Basis Profile are generally limited to the graphics and UI facilities found in only the core of AWT, as present in JDK 1.1.8. This optional package will bring the graphics and UI capabilities of these platforms in line with what is currently supported by the J2SE platform.

2.4 Why isn't this need met by existing specifications?

The facilities proposed by this JSR are familiar to developers of J2SE, but currently unavailable in J2ME.

2.5 Please give a short description of the underlying technology or technologies:

The technologies underlying the proposed JSR are well known. Please see section 3.1 for references.

2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)

The existing package names, as present in J2SE 1.4.1, will be used for this optional package. Please see section 2.1.

2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?


2.8 Are there any security issues that cannot be addressed by the current security model?

None known.

2.9 Are there any internationalization or localization issues?

The Input Method Framework is included in this proposal to assist the internationalization of AGUI implementations.

2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?

The J2ME Personal Profile (JSR-62) and J2ME Personal Basis Profile (JSR-129) specifications are likely to require revision to support the proposed optional package. The expert group for this JSR will coordinate with the expert groups for these platforms to ensure compatibility among the specifications.

2.11 Please describe the anticipated schedule for the development of this specification.

Community Review Draft: June 2003
Public Review Draft: August 2003
Completion: October 2003

2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.

E-mail, teleconference, and face-to-face discussions as needed and as appropriate.

2.13 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.

The RI and TCK will be delivered as part of this optional package work (stand-alone).

2.14 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).


2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.

The TCK and RI will be available for license separately:

  • TCK:
    • Annual license access fee providing access to the TCK code updates and upgrades, and basic support.
    • Per unit royalty fee which will be dependent on volume.
  • RI:
    • Annual license access fee allowing commercial use of the RI code, as well as providing access to updates and upgrades.
    • Per unit royalty fee which will be dependent on volume.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.

Project Swing Components
2D Graphics and Imaging
Image I/O
Input Method Framework

3.2 Explanation of how these items might be used as a starting point for the work.

Please see section 2.1