JXTaskPaneContainerAddon.java
上传用户:zhengdagz
上传日期:2014-03-06
资源大小:1956k
文件大小:4k
源码类别:

xml/soap/webservice

开发平台:

Java

  1. /*
  2.  * $Id: JXTaskPaneContainerAddon.java,v 1.6 2005/10/10 18:02:08 rbair Exp $
  3.  *
  4.  * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle,
  5.  * Santa Clara, California 95054, U.S.A. All rights reserved.
  6.  *
  7.  * This library is free software; you can redistribute it and/or
  8.  * modify it under the terms of the GNU Lesser General Public
  9.  * License as published by the Free Software Foundation; either
  10.  * version 2.1 of the License, or (at your option) any later version.
  11.  * 
  12.  * This library is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15.  * Lesser General Public License for more details.
  16.  * 
  17.  * You should have received a copy of the GNU Lesser General Public
  18.  * License along with this library; if not, write to the Free Software
  19.  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  20.  */
  21. package org.jdesktop.swingx.plaf;
  22. import java.util.Arrays;
  23. import java.util.List;
  24. import javax.swing.UIManager;
  25. import javax.swing.plaf.ColorUIResource;
  26. import javax.swing.plaf.metal.MetalLookAndFeel;
  27. import org.jdesktop.swingx.JXTaskPaneContainer;
  28. import org.jdesktop.swingx.plaf.windows.WindowsClassicLookAndFeelAddons;
  29. import org.jdesktop.swingx.plaf.windows.WindowsLookAndFeelAddons;
  30. import org.jdesktop.swingx.util.OS;
  31. /**
  32.  * Addon for <code>JXTaskPaneContainer</code>. <br>
  33.  *  
  34.  * @author <a href="mailto:fred@L2FProd.com">Frederic Lavigne</a>
  35.  */
  36. public class JXTaskPaneContainerAddon extends AbstractComponentAddon {
  37.   public JXTaskPaneContainerAddon() {
  38.     super("JXTaskPaneContainer");
  39.   }
  40.   @Override
  41.   protected void addBasicDefaults(LookAndFeelAddons addon, List<Object> defaults) {
  42.     super.addBasicDefaults(addon, defaults);
  43.     defaults.addAll(Arrays.asList(new Object[]{
  44.       JXTaskPaneContainer.uiClassID,
  45.       "org.jdesktop.swingx.plaf.basic.BasicTaskPaneContainerUI",
  46.       "TaskPaneContainer.useGradient",
  47.       Boolean.FALSE,
  48.       "TaskPaneContainer.background",
  49.       UIManager.getColor("Desktop.background")
  50.     }));
  51.   }
  52.   @Override
  53.   protected void addMetalDefaults(LookAndFeelAddons addon, List<Object> defaults) {
  54.     super.addMetalDefaults(addon, defaults);
  55.     defaults.addAll(Arrays.asList(new Object[]{
  56.       "TaskPaneContainer.background",
  57.       MetalLookAndFeel.getDesktopColor()
  58.     }));
  59.   }
  60.   
  61.   @Override
  62.   protected void addWindowsDefaults(LookAndFeelAddons addon, List<Object> defaults) {
  63.     super.addWindowsDefaults(addon, defaults);
  64.     if (addon instanceof WindowsClassicLookAndFeelAddons) {
  65.       defaults.addAll(Arrays.asList(new Object[]{
  66.         "TaskPaneContainer.background",
  67.         UIManager.getColor("List.background")
  68.       }));      
  69.     } else if (addon instanceof WindowsLookAndFeelAddons) {     
  70.       String xpStyle = OS.getWindowsVisualStyle();
  71.       ColorUIResource background;
  72.       ColorUIResource backgroundGradientStart;
  73.       ColorUIResource backgroundGradientEnd;
  74.       
  75.       if (WindowsLookAndFeelAddons.HOMESTEAD_VISUAL_STYLE
  76.         .equalsIgnoreCase(xpStyle)) {        
  77.         background = new ColorUIResource(201, 215, 170);
  78.         backgroundGradientStart = new ColorUIResource(204, 217, 173);
  79.         backgroundGradientEnd = new ColorUIResource(165, 189, 132);
  80.       } else if (WindowsLookAndFeelAddons.SILVER_VISUAL_STYLE
  81.         .equalsIgnoreCase(xpStyle)) {
  82.         background = new ColorUIResource(192, 195, 209);
  83.         backgroundGradientStart = new ColorUIResource(196, 200, 212);
  84.         backgroundGradientEnd = new ColorUIResource(177, 179, 200);
  85.       } else {        
  86.         background = new ColorUIResource(117, 150, 227);
  87.         backgroundGradientStart = new ColorUIResource(123, 162, 231);
  88.         backgroundGradientEnd = new ColorUIResource(99, 117, 214);
  89.       }      
  90.       defaults.addAll(Arrays.asList(new Object[]{
  91.         "TaskPaneContainer.useGradient",
  92.         Boolean.TRUE,
  93.         "TaskPaneContainer.background",
  94.         background,
  95.         "TaskPaneContainer.backgroundGradientStart",
  96.         backgroundGradientStart,
  97.         "TaskPaneContainer.backgroundGradientEnd",
  98.         backgroundGradientEnd,
  99.       }));
  100.     }
  101.   }
  102.   @Override
  103.   protected void addMacDefaults(LookAndFeelAddons addon, List<Object> defaults) {
  104.     super.addMacDefaults(addon, defaults);
  105.     defaults.addAll(Arrays.asList(new Object[]{
  106.       "TaskPaneContainer.background",
  107.       new ColorUIResource(238, 238, 238),
  108.     }));            
  109.   }
  110. }