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 }