⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oyoahalookandfeel.java

📁 java 开源,Swing外观:JGoodies look & feel. ... JGoodies look&feels让你的Swing 应用程序与applets看起来更漂亮.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* ==================================================================== * Copyright (c) 2001-2003 OYOAHA. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. The names "OYOAHA" must not be used to endorse or promote products  *    derived from this software without prior written permission.  *    For written permission, please contact email@oyoaha.com. * * 3. Products derived from this software may not be called "OYOAHA", *    nor may "OYOAHA" appear in their name, without prior written *    permission. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL OYOAHA OR ITS CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */package com.oyoaha.swing.plaf.oyoaha;import java.awt.*;import java.io.*;import java.net.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.plaf.*;import javax.swing.plaf.metal.*;import com.oyoaha.swing.plaf.oyoaha.pool.*;import com.oyoaha.swing.plaf.oyoaha.border.*;import com.oyoaha.swing.plaf.oyoaha.ui.*;import com.oyoaha.swing.plaf.oyoaha.icon.*;public class OyoahaLookAndFeel extends MetalLookAndFeel{  protected OyoahaTheme oyoahaTheme;  protected OyoahaThemeScheme oyoahaThemeScheme;  protected boolean forceRollover;  public OyoahaLookAndFeel()  {    this(true);  }  public OyoahaLookAndFeel(boolean forceRollover)  {    if(oyoahaThemeScheme==null)    {      oyoahaThemeScheme = new OyoahaThemeScheme();    }    oyoahaTheme = null;        this.forceRollover = forceRollover;  }    public boolean getDefaultRolloverPolicy(Component c)  {    if(c instanceof MenuElement)    return true;    return forceRollover;  }  public void initialize()  {    OyoahaUtilities.initialize(this);  }  /**  *  */  public void uninitialize()  {    OyoahaUtilities.uninitialize(this);  }  /**  *  */  public String getName()  {    return "Oyoaha LookAndFeel";  }  /**  *  */  public String getID()  {    return "3.0";  }  /**  *  */  public String getDescription()  {    StringBuffer buf = new StringBuffer();    buf.append("For more information visit http://www.oyoaha.com");    buf.append("\n  Copyright (c) 2000, 2002 oyoaha");    if(oyoahaTheme!=null)    {      buf.append("\n  Use custom OyoahaTheme");      buf.append("\n\n  OyoahaTheme Class Name: ");      buf.append(oyoahaTheme.getClassName());      buf.append("\n  OyoahaTheme Name: ");      buf.append(oyoahaTheme.getName());      buf.append("\n  OyoahaTheme Version: ");      buf.append(oyoahaTheme.getVersion());      buf.append("\n  OyoahaTheme Copyright: ");      buf.append(oyoahaTheme.getCopyright());    }    else    {      buf.append("\n  Use default OyoahaTheme");    }    return buf.toString();  }//------------------------------------------------------------------------------// THEME SUPPORT//------------------------------------------------------------------------------  public static void setCurrentTheme(URL _url)  {    setCurrentTheme(new OyoahaMetalTheme(_url));  }  public static void setCurrentTheme(InputStream _inputStream)  {    setCurrentTheme(new OyoahaMetalTheme(_inputStream));  }  public static void setCurrentTheme(File _file)  {    setCurrentTheme(new OyoahaMetalTheme(_file));  }  public void setOyoahaTheme(URL _url)  {    OyoahaTheme otm = null;    if(_url!=null)    {      otm = new OyoahaTheme(_url);    }    setOyoahaTheme(otm);  }  public void setOyoahaTheme(InputStream _inputStream)  {    OyoahaTheme otm = null;    if(_inputStream!=null)    {      otm = new OyoahaTheme(_inputStream);    }    setOyoahaTheme(otm);  }  public void setOyoahaTheme(File _file)  {    OyoahaTheme otm = null;    if(_file!=null || _file.exists())    {      otm = new OyoahaTheme(_file);    }    setOyoahaTheme(otm);  }  protected void setOyoahaTheme(OyoahaTheme _oyoahaTheme)  {    if(oyoahaTheme!=null)    {      //dispose oyoahaTheme      disposeOyoahaThemeSchemeListener();      oyoahaTheme.dispose();    }    oyoahaTheme = _oyoahaTheme;    //check is the current scheme is also the default one    if(oyoahaThemeScheme.isDefaultMetalTheme() || oyoahaThemeScheme.isDefaultOyoahaTheme())    {      //ok load default...      if(oyoahaTheme!=null)      {        OyoahaThemeSchemeChanged changed = oyoahaTheme.loadDefaultOyoahaThemeScheme(oyoahaThemeScheme);        fireOyoahaThemeSchemeListener(oyoahaThemeScheme, changed);      }    }  }  public OyoahaTheme getOyoahaTheme()  {    return oyoahaTheme;  }  /**   * return a OyoahaThemeScheme filled with value of the current MetalTheme   */  public OyoahaThemeScheme getOyoahaThemeScheme()  {    return oyoahaThemeScheme;  }  public static void setCurrentTheme(MetalTheme _theme)  {    MetalLookAndFeel.setCurrentTheme(_theme);    //try to find the current oyoahalookandfeel    LookAndFeel lnf = UIManager.getLookAndFeel();    if(lnf!=null && lnf instanceof OyoahaLookAndFeel)    {      ((OyoahaLookAndFeel)lnf).updateOyoahaThemeScheme(_theme);    }  }  public void updateOyoahaThemeScheme(MetalTheme _theme)  {    OyoahaThemeSchemeChanged changed = null;    if(OyoahaThemeScheme.isDefaultMetalTheme(_theme))    {      //check is the current scheme is also the default      if(!oyoahaThemeScheme.isDefaultMetalTheme() && !oyoahaThemeScheme.isDefaultOyoahaTheme())      {        //ok load default...        if(oyoahaTheme!=null)        {          changed = oyoahaTheme.loadDefaultOyoahaThemeScheme(oyoahaThemeScheme, _theme);        }        else        {          changed = oyoahaThemeScheme.load(_theme);        }      }    }    else    {      //use this metal theme      changed = oyoahaThemeScheme.load(_theme);    }    //if changed !=null fire listener...    if(changed!=null)    {      fireOyoahaThemeSchemeListener(oyoahaThemeScheme, changed);    }  }  protected Vector OyoahaThemeSchemeListeners;  public void addOyoahaThemeSchemeListener(OyoahaThemeSchemeListener _listener)  {    if(OyoahaThemeSchemeListeners==null)    {      OyoahaThemeSchemeListeners = new Vector();    }    if(_listener!=null && !OyoahaThemeSchemeListeners.contains(_listener))    {      OyoahaThemeSchemeListeners.addElement(_listener);    }  }  public void removeOyoahaThemeSchemeListener(OyoahaThemeSchemeListener _listener)  {    if(OyoahaThemeSchemeListeners==null)    {      return;    }    OyoahaThemeSchemeListeners.removeElement(_listener);  }  protected void fireOyoahaThemeSchemeListener(OyoahaThemeScheme _scheme, OyoahaThemeSchemeChanged _changed)  {    OyoahaUtilities.updateOyoahaThemeScheme(_changed);    if(OyoahaThemeSchemeListeners==null)    {      return;    }    for(int i=0;i<OyoahaThemeSchemeListeners.size();i++)    {      OyoahaThemeSchemeListener listener = (OyoahaThemeSchemeListener)OyoahaThemeSchemeListeners.elementAt(i);      listener.updateThemeScheme(_scheme, _changed);    }  }  protected void disposeOyoahaThemeSchemeListener()  {    OyoahaUtilities.updateOyoahaTheme();    if(OyoahaThemeSchemeListeners==null)    {      return;    }    for(int i=0;i<OyoahaThemeSchemeListeners.size();i++)    {      OyoahaThemeSchemeListener listener = (OyoahaThemeSchemeListener)OyoahaThemeSchemeListeners.elementAt(i);      listener.dispose();      OyoahaThemeSchemeListeners.removeElement(listener);    }  }//------------------------------------------------------------------------------// REAL LOOKANDFEEL STUFF//------------------------------------------------------------------------------  protected void initClassDefaults(UIDefaults table)  {    super.initClassDefaults(table);    boolean javaVersion = OyoahaUtilities.isVersion("1.3");        Properties properties = new Properties();        try    {        if(javaVersion)        properties.load(getClass().getResourceAsStream("/com/oyoaha/swing/plaf/oyoaha/uidefaults2.properties"));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -