Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8222990

Change the mechanism by which JDK loads the platform-specific GraphicsEnvironment class

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P3 P3
    • 13
    • client-libs
    • None
    • 2d
    • behavioral
    • low
    • Hide
      The property is not documented but is visible when enumerating
      all system properties.
      It is unclear how an application may use this property, but
      any code that expects it to exist and be non-null will get an NPE.
      Show
      The property is not documented but is visible when enumerating all system properties. It is unclear how an application may use this property, but any code that expects it to exist and be non-null will get an NPE.
    • System or security property
    • Implementation

      Summary

      Remove the java.awt.graphicsenv system property

      Problem

      The java.awt.graphicsenv system property has been used since JDK 1.2 to specify the concrete platform implementation class for the abstract SE API class java.awt.GraphicsEnvironment. This not only pollutes the system property space, but implies that this is pluggable which it is not. Nor was it ever considered a "standard" system property but it used the "java" namespace.

      Also the code that sets it is embedded into the launcher which is also undesirable creating a cross-module dependency whereby the launcher has hard-coded the names of internal implementation classes of the desktop module.

      Solution

      Remove the java.awt.graphicsenv system property which is used to specify the name of the platform implementation class.

      It is replaced by a mechanism entirely internal to the java.desktop module.

      Specification

      Remove the java.awt.graphicsenv system property

            prr Philip Race
            prr Philip Race
            Sergey Bylokhov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: