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.JInternalFrame;
21  
22  import ch.elca.el4j.services.gui.swing.frames.InternalApplicationFrame;
23  
24  /**
25   * This factory wraps components into {@link JInternalFrame}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/JInteralFrameWrapperFactory.java $
28   *
29   * @author Stefan Wismer (SWI)
30   */
31  public class JInteralFrameWrapperFactory extends AbstractWrapperFactory<InternalApplicationFrame> {
32  	
33  	/**
34  	 * The abstract factory.
35  	 */
36  	private static AbstractWrapperFactory<InternalApplicationFrame> s_factory = null;
37  	
38  	/**
39  	 * Wraps a GUI component into a {@link JInternalFrame}.
40  	 *
41  	 * @param component    the component to wrap
42  	 * @return             the wrapper
43  	 */
44  	public static InternalApplicationFrame wrap(JComponent component) {
45  		if (s_factory == null) {
46  			s_factory = new JInteralFrameWrapperFactory();
47  		}
48  		return s_factory.wrapComponent(component);
49  	}
50  
51  	/** {@inheritDoc} */
52  	@Override
53  	protected InternalApplicationFrame createApplicationFrame(String name, String title, JComponent component) {
54  		InternalApplicationFrame frame = new InternalApplicationFrame(new JInternalFrame());
55  		frame.setName(name);
56  		frame.setTitle(title);
57  		frame.setContent(component);
58  		return frame;
59  	}
60  }