< prev index next >

jdk/src/java.desktop/share/classes/javax/swing/JRootPane.java

Print this page




 646      * <pre>
 647      *   root.setGlassPane(newGlassPane);
 648      *   newGlassPane.setVisible(true);
 649      * </pre>
 650      * or:
 651      * <pre>
 652      *   root.getGlassPane().setVisible(true);
 653      *   root.setGlassPane(newGlassPane);
 654      * </pre>
 655      *
 656      * @param glass the <code>Component</code> to use as the glass pane
 657      *              for this <code>JRootPane</code>
 658      * @exception NullPointerException if the <code>glass</code> parameter is
 659      *          <code>null</code>
 660      */
 661     public void setGlassPane(Component glass) {
 662         if (glass == null) {
 663             throw new NullPointerException("glassPane cannot be set to null.");
 664         }
 665 
 666         AWTAccessor.getComponentAccessor().setMixingCutoutShape(glass,
 667                 new Rectangle());
 668 
 669         boolean visible = false;
 670         if (glassPane != null && glassPane.getParent() == this) {
 671             this.remove(glassPane);
 672             visible = glassPane.isVisible();
 673         }
 674 
 675         glass.setVisible(visible);
 676         glassPane = glass;
 677         this.add(glassPane, 0);
 678         if (visible) {
 679             repaint();
 680         }
 681     }
 682 
 683     /**
 684      * Returns the current glass pane for this <code>JRootPane</code>.
 685      * @return the current glass pane
 686      * @see #setGlassPane
 687      */




 646      * <pre>
 647      *   root.setGlassPane(newGlassPane);
 648      *   newGlassPane.setVisible(true);
 649      * </pre>
 650      * or:
 651      * <pre>
 652      *   root.getGlassPane().setVisible(true);
 653      *   root.setGlassPane(newGlassPane);
 654      * </pre>
 655      *
 656      * @param glass the <code>Component</code> to use as the glass pane
 657      *              for this <code>JRootPane</code>
 658      * @exception NullPointerException if the <code>glass</code> parameter is
 659      *          <code>null</code>
 660      */
 661     public void setGlassPane(Component glass) {
 662         if (glass == null) {
 663             throw new NullPointerException("glassPane cannot be set to null.");
 664         }
 665 
 666         glass.setMixingCutoutShape(new Rectangle());

 667 
 668         boolean visible = false;
 669         if (glassPane != null && glassPane.getParent() == this) {
 670             this.remove(glassPane);
 671             visible = glassPane.isVisible();
 672         }
 673 
 674         glass.setVisible(visible);
 675         glassPane = glass;
 676         this.add(glassPane, 0);
 677         if (visible) {
 678             repaint();
 679         }
 680     }
 681 
 682     /**
 683      * Returns the current glass pane for this <code>JRootPane</code>.
 684      * @return the current glass pane
 685      * @see #setGlassPane
 686      */


< prev index next >