--- old/jdk/src/java.desktop/share/classes/java/awt/Component.java 2017-01-27 10:19:44.962540181 -0800 +++ new/jdk/src/java.desktop/share/classes/java/awt/Component.java 2017-01-27 10:19:44.802540182 -0800 @@ -10379,7 +10379,11 @@ } /** - * Sets a 'mixing-cutout' shape for the given component. + * Sets a 'mixing-cutout' shape for this lightweight component. + * + * This method is used exclusively for the purposes of the + * Heavyweight/Lightweight Components Mixing feature and will + * have no effect if applied to a heavyweight component. * * By default a lightweight component is treated as an opaque rectangle for * the purposes of the Heavyweight/Lightweight Components Mixing feature. @@ -10392,7 +10396,7 @@ *
  • {@code null} - reverts the default cutout shape (the rectangle equal * to the component's {@code getBounds()}) *
  • empty-shape - does not cut out anything from heavyweight - * components. This makes the given lightweight component effectively + * components. This makes this lightweight component effectively * transparent. Note that descendants of the lightweight component still * affect the shapes of heavyweight components. An example of an * empty-shape is {@code new Rectangle()}. @@ -10406,16 +10410,11 @@ * for the given glass pane component. If a developer needs some other * 'mixing-cutout' shape for the glass pane (which is rare), this must be * changed manually after installing the glass pane to the root pane. - *

    - * Note that the 'mixing-cutout' shape neither affects painting, nor the - * mouse events handling for the given component. It is used exclusively - * for the purposes of the Heavyweight/Lightweight Components Mixing - * feature. * * @param shape the new 'mixing-cutout' shape * @since 9 */ - void setMixingCutoutShape(Shape shape) { + public void setMixingCutoutShape(Shape shape) { Region region = shape == null ? null : Region.getInstance(shape, null); synchronized (getTreeLock()) {