Home » openjdk-7 » javax » swing » plaf » basic » [javadoc | source]

    1   /*
    2    * Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
    3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    4    *
    5    * This code is free software; you can redistribute it and/or modify it
    6    * under the terms of the GNU General Public License version 2 only, as
    7    * published by the Free Software Foundation.  Oracle designates this
    8    * particular file as subject to the "Classpath" exception as provided
    9    * by Oracle in the LICENSE file that accompanied this code.
   10    *
   11    * This code is distributed in the hope that it will be useful, but WITHOUT
   12    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13    * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14    * version 2 for more details (a copy is included in the LICENSE file that
   15    * accompanied this code).
   16    *
   17    * You should have received a copy of the GNU General Public License version
   18    * 2 along with this work; if not, write to the Free Software Foundation,
   19    * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   20    *
   21    * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   22    * or visit www.oracle.com if you need additional information or have any
   23    * questions.
   24    */
   25   
   26   package javax.swing.plaf.basic;
   27   
   28   import java.awt;
   29   import javax.swing;
   30   import javax.swing.border;
   31   import javax.swing.plaf;
   32   import java.awt;
   33   import java.awt.event;
   34   
   35   
   36   /**
   37    * BasicPanel implementation
   38    *
   39    * @author Steve Wilson
   40    */
   41   public class BasicPanelUI extends PanelUI {
   42   
   43       // Shared UI object
   44       private static PanelUI panelUI;
   45   
   46       public static ComponentUI createUI(JComponent c) {
   47           if(panelUI == null) {
   48               panelUI = new BasicPanelUI();
   49           }
   50           return panelUI;
   51       }
   52   
   53       public void installUI(JComponent c) {
   54           JPanel p = (JPanel)c;
   55           super.installUI(p);
   56           installDefaults(p);
   57       }
   58   
   59       public void uninstallUI(JComponent c) {
   60           JPanel p = (JPanel)c;
   61           uninstallDefaults(p);
   62           super.uninstallUI(c);
   63       }
   64   
   65       protected void installDefaults(JPanel p) {
   66           LookAndFeel.installColorsAndFont(p,
   67                                            "Panel.background",
   68                                            "Panel.foreground",
   69                                            "Panel.font");
   70           LookAndFeel.installBorder(p,"Panel.border");
   71           LookAndFeel.installProperty(p, "opaque", Boolean.TRUE);
   72       }
   73   
   74       protected void uninstallDefaults(JPanel p) {
   75           LookAndFeel.uninstallBorder(p);
   76       }
   77   
   78   
   79       /**
   80        * Returns the baseline.
   81        *
   82        * @throws NullPointerException {@inheritDoc}
   83        * @throws IllegalArgumentException {@inheritDoc}
   84        * @see javax.swing.JComponent#getBaseline(int, int)
   85        * @since 1.6
   86        */
   87       public int getBaseline(JComponent c, int width, int height) {
   88           super.getBaseline(c, width, height);
   89           Border border = c.getBorder();
   90           if (border instanceof AbstractBorder) {
   91               return ((AbstractBorder)border).getBaseline(c, width, height);
   92           }
   93           return -1;
   94       }
   95   
   96       /**
   97        * Returns an enum indicating how the baseline of the component
   98        * changes as the size changes.
   99        *
  100        * @throws NullPointerException {@inheritDoc}
  101        * @see javax.swing.JComponent#getBaseline(int, int)
  102        * @since 1.6
  103        */
  104       public Component.BaselineResizeBehavior getBaselineResizeBehavior(
  105               JComponent c) {
  106           super.getBaselineResizeBehavior(c);
  107           Border border = c.getBorder();
  108           if (border instanceof AbstractBorder) {
  109               return ((AbstractBorder)border).getBaselineResizeBehavior(c);
  110           }
  111           return Component.BaselineResizeBehavior.OTHER;
  112       }
  113   }

Home » openjdk-7 » javax » swing » plaf » basic » [javadoc | source]