View Javadoc

1   /*
2    * EL4J, the Extension Library for the J2EE, adds incremental enhancements to
3    * the spring framework, http://el4j.sf.net
4    * Copyright (C) 2005 by ELCA Informatique SA, Av. de la Harpe 22-24,
5    * 1000 Lausanne, Switzerland, http://www.elca.ch
6    *
7    * EL4J is published under the GNU Lesser General Public License (LGPL)
8    * Version 2.1. See http://www.gnu.org/licenses/
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU Lesser General Public License for more details.
14   *
15   * For alternative licensing, please contact info@elca.ch
16   */
17  package ch.elca.el4j.services.gui.swing.wrapper;
18  
19  import javax.swing.JComponent;
20  import javax.swing.JFrame;
21  
22  import ch.elca.el4j.services.gui.swing.frames.ExternalApplicationFrame;
23  
24  /**
25   * This class wraps components into {@link JFrame}s.
26   *
27   * @svnLink $Revision: 3878 $;$Date: 2009-08-04 15:06:35 +0200 (Di, 04. Aug 2009) $;$Author: swismer $;$URL: https://el4j.svn.sourceforge.net/svnroot/el4j/branches/el4j_3_1/el4j/framework/modules/swing/src/main/java/ch/elca/el4j/services/gui/swing/wrapper/JFrameWrapperFactory.java $
28   *
29   * @author Stefan Wismer (SWI)
30   */
31  public class JFrameWrapperFactory extends AbstractWrapperFactory<ExternalApplicationFrame> {
32  	
33  	/**
34  	 * The abstract factory.
35  	 */
36  	private static AbstractWrapperFactory<ExternalApplicationFrame> s_factory = null;
37  	
38  	/**
39  	 * Wraps a GUI component into a {@link JFrame}.
40  	 *
41  	 * @param component    the component to wrap
42  	 * @return             the wrapper
43  	 */
44  	public static ExternalApplicationFrame wrap(JComponent component) {
45  		if (s_factory == null) {
46  			s_factory = new JFrameWrapperFactory();
47  		}
48  		return s_factory.wrapComponent(component);
49  	}
50  	
51  	/** {@inheritDoc} */
52  	@Override
53  	protected ExternalApplicationFrame createApplicationFrame(String name, String title, JComponent component) {
54  		ExternalApplicationFrame frame = new ExternalApplicationFrame(new JFrame());
55  		frame.setName(name);
56  		frame.setTitle(title);
57  		frame.setContent(component);
58  		return frame;
59  	}
60  }