< prev index next >

jdk/src/java.desktop/share/classes/java/awt/Component.java

Print this page

        

*** 10377,10387 **** } return true; } /** ! * Sets a 'mixing-cutout' shape for the given 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 --- 10377,10391 ---- } return true; } /** ! * 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,10400 **** * 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 * 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. --- 10394,10404 ---- * 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 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,10423 **** * 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) { Region region = shape == null ? null : Region.getInstance(shape, null); synchronized (getTreeLock()) { boolean needShowing = false; boolean needHiding = false; --- 10408,10422 ---- * 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. * * @param shape the new 'mixing-cutout' shape * @since 9 */ ! 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 >