IgorLookAndFeel.java :  » ERP-CRM-Financial » Personal-Finance-Manager » br » com » igor » plaf » Java Open Source

Java Open Source » ERP CRM Financial » Personal Finance Manager 
Personal Finance Manager » br » com » igor » plaf » IgorLookAndFeel.java
/*
 * Created on 14/10/2004
 * 
 * Swing Components - visit http://sf.net/projects/gfd
 * 
 * Copyright (C) 2004  Igor Regis da Silva Simes
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 * 
 */
package br.com.igor.plaf;

import javax.swing.UIDefaults;
import javax.swing.plaf.metal.MetalLookAndFeel;

/**
 *
 *  Esta classe  responsvel por instalar o IgorLookAndFeel na aplicao.
 *  Sua super classe  MetalLookAndFeel para que possa ser mantido por padro
 *  o LookAndFeel Metal, padro das aplicaes Java.
 *  <P>
 *  O IgorLookAndFeel foi criado para resolver um problema de renderizao de fontes
 *  de componentes no sistema operacional Linux.
 *  O problema foi reslvido sobrescrevendo os mtodos responsveis pelo pintura
 *  dos textos dos componentes para ativar uma propriedade do objeto Graphics.
 *
 *  @author Igor Regis da Silva Simes
 */
public class IgorLookAndFeel extends MetalLookAndFeel
{
  /**  Mtodo responsvel por instalar os novos componentes de LookAndFeel
     *   <p>
     *  Para realizar a instalao dos novos componentes deve-se passar para um
     *   Array Object, Strings contendo uma tag que representa o componente o qual
     *   se deseja alterar o LookAndFeel e o nome completo da classe que ir substituir
     *   a padro; separados por virgula.
     *   <p>
     *   Deve-se primeiro fazer uma chamada ao mtodo da superclasse para carregar as
     *   classes padro e depois inserir as classes do novo LookAndFeel.
     * @param table Tebela contendo todos os UI Componetes que sero usados para criar o LookAndFeel
     */
  @Override
    protected void initClassDefaults(UIDefaults table)
  {
    super.initClassDefaults(table);
    String packageName = "br.com.igor.plaf";

    Object[] uiDefaults = {
           "ButtonUI", packageName + "IgorButtonUI",
          "CheckBoxUI", packageName + "IgorCheckBoxUI",
//           "ColorChooserUI", packageName + "BasicColorChooserUI",
//            "MenuBarUI", packageName + "BasicMenuBarUI",
//             "MenuUI", packageName + "BasicMenuUI",
//          "MenuItemUI", packageName + "BasicMenuItemUI",
//       "CheckBoxMenuItemUI", packageName + "BasicCheckBoxMenuItemUI",
//    "RadioButtonMenuItemUI", packageName + "BasicRadioButtonMenuItemUI",
            "RadioButtonUI", packageName + "IgorRadioButtonUI",
         "ToggleButtonUI", packageName + "IgorToggleButtonUI",
//        "PopupMenuUI", packageName + "IgorPopupMenuUI",
//           "ProgressBarUI", packageName + "BasicProgressBarUI",
//        "ScrollBarUI", packageName + "BasicScrollBarUI",
//             "ScrollPaneUI", packageName + "BasicScrollPaneUI",
//        "SplitPaneUI", packageName + "BasicSplitPaneUI",
//              "SliderUI", packageName + "BasicSliderUI",
//        "SeparatorUI", packageName + "BasicSeparatorUI",
//      "ToolBarSeparatorUI", packageName + "BasicToolBarSeparatorUI",
//     "PopupMenuSeparatorUI", packageName + "BasicPopupMenuSeparatorUI",
//              "TabbedPaneUI", packageName + "BasicTabbedPaneUI",
          "TextAreaUI", packageName + "IgorTextAreaUI",
        "TextFieldUI", packageName + "IgorTextFieldUI",
//        "PasswordFieldUI", packageName + "BasicPasswordFieldUI",
          "TextPaneUI", packageName + "IgorTextPaneUI",
//             "EditorPaneUI", packageName + "BasicEditorPaneUI",
//              "TreeUI", packageName + "BasicTreeUI",
            "LabelUI", packageName + "IgorLabelUI",
//              "ListUI", packageName + "IgorListUI",
//            "ToolBarUI", packageName + "BasicToolBarUI",
            "ToolTipUI", packageName + "IgorToolTipUI"
//          "ComboBoxUI", packageName + "IgorComboBoxUI"
//            "TableUI", packageName + "BasicTableUI",
//            "TableHeaderUI", packageName + "BasicTableHeaderUI",
//        "InternalFrameUI", packageName + "BasicInternalFrameUI",
//        "StandardDialogUI", packageName + "BasicStandardDialogUI",
//            "DesktopPaneUI", packageName + "BasicDesktopPaneUI",
//            "DesktopIconUI", packageName + "BasicDesktopIconUI",
//              "OptionPaneUI", packageName + "BasicOptionPaneUI",
//                "PanelUI", packageName + "BasicPanelUI"
//          "ViewportUI", packageName + "BasicViewportUI",
//          "RootPaneUI", packageName + "BasicRootPaneUI",
    };

    table.putDefaults(uiDefaults);
  }

  /** Retorna o nome do LookAndFeel
     *
     * @see javax.swing.LookAndFeel#getName()
     * @return Retorna o nome do LookAndFeel
     */
  @Override
    public String getName() {
    return "IgorLookAndFeel";
  }

  /** Retorna um ID do LookAndFeel
     *
     * @see javax.swing.LookAndFeel#getID()
     * @return Retorna o ID do LookAndFeel
     */
  @Override
    public String getID() {
    return "Igor";
  }

  /** Retorna uma descrio do LookAndFeel
     *
     * @see javax.swing.LookAndFeel#getDescription()
     * @return Retorna uma descrio do LookAndFeel
     */
  @Override
    public String getDescription() {
    return "LookAndFeel do Igor";
  }

  /** Retorna se este LookAndFeel  ou no nativo.
     *
     * @see javax.swing.LookAndFeel#isNativeLookAndFeel()
     * @return Retorna sempre falso, pois este LookAndFeel no  nativo
     */
  @Override
    public boolean isNativeLookAndFeel() {
    return false;
  }

  /** Retorna se o LookAndFeel  ou no suportado pelo atua sistema operacional.
     *
     * @see javax.swing.LookAndFeel#isSupportedLookAndFeel()
     * @return Retorna sempre true, pois este LookAndFeel no  nativo
     */
  @Override
    public boolean isSupportedLookAndFeel() {
    return true;
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.