001 /* 002 * $Id: ComponentAddon.java,v 1.3 2005/10/10 18:02:07 rbair Exp $ 003 * 004 * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle, 005 * Santa Clara, California 95054, U.S.A. All rights reserved. 006 * 007 * This library is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * This library is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 015 * Lesser General Public License for more details. 016 * 017 * You should have received a copy of the GNU Lesser General Public 018 * License along with this library; if not, write to the Free Software 019 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 020 */ 021 package org.jdesktop.swingx.plaf; 022 023 /** 024 * Each new component type of the library will contribute an addon to 025 * the LookAndFeelAddons. A <code>ComponentAddon</code> is the 026 * equivalent of a {@link javax.swing.LookAndFeel}but focused on one 027 * component. <br> 028 * 029 * @author <a href="mailto:fred@L2FProd.com">Frederic Lavigne</a> 030 */ 031 public interface ComponentAddon { 032 033 /** 034 * @return the name of this addon 035 */ 036 String getName(); 037 038 /** 039 * Initializes this addon (i.e register UI classes, colors, fonts, 040 * borders, any UIResource used by the component class). When 041 * initializing, the addon can register different resources based on 042 * the addon or the current look and feel. 043 * 044 * @param addon the current addon 045 */ 046 void initialize(LookAndFeelAddons addon); 047 048 /** 049 * Uninitializes this addon. 050 * 051 * @param addon 052 */ 053 void uninitialize(LookAndFeelAddons addon); 054 055 }