001    /*
002     * $Header$
003     * $Revision: 1998 $
004     * $Date: 2008-03-06 13:18:03 +0100 (Thu, 06 Mar 2008) $
005     *
006     * Copyright Computer Science Innovations (CSI), 2004. All rights reserved.
007     */
008    package org.springframework.richclient.factory;
009    
010    import javax.swing.AbstractButton;
011    
012    /**
013     * Marker for button factories. All methods return {@link AbstractButton}s so
014     * that you can provide a custom implementation.
015     *
016     * @author Keith Donald
017     */
018    public interface ButtonFactory {
019    
020            /**
021             * Returns a standard button.
022             */
023            public AbstractButton createButton();
024    
025            /**
026             * Returns a checkBox.
027             */
028            public AbstractButton createCheckBox();
029    
030            /**
031             * Returns a toggleButton.
032             */
033            public AbstractButton createToggleButton();
034    
035            /**
036             * Returns a radioButton.
037             */
038            public AbstractButton createRadioButton();
039    }