< prev index next >
jdk/src/java.desktop/share/classes/java/awt/Component.java
Print this page
@@ -10377,11 +10377,15 @@
}
return true;
}
/**
- * 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.
* This method enables developers to set an arbitrary shape to be cut out
* from heavyweight components positioned underneath the lightweight
@@ -10390,11 +10394,11 @@
* The {@code shape} argument may have the following values:
* <ul>
* <li>{@code null} - reverts the default cutout shape (the rectangle equal
* to the component's {@code getBounds()})
* <li><i>empty-shape</i> - 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
* <i>empty-shape</i> is {@code new Rectangle()}.
* <li><i>non-empty-shape</i> - the given shape will be cut out from
* heavyweight components.
@@ -10404,20 +10408,15 @@
* glass pane component. The {@link JRootPane#setGlassPane()} method
* automatically sets the <i>empty-shape</i> as the 'mixing-cutout' shape
* 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.
- * <p>
- * 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()) {
boolean needShowing = false;
boolean needHiding = false;
< prev index next >