01: //WebOnSwing - Web Application Framework
02: //Copyright (C) 2003 Fernando Damian Petrola
03: //
04: //This library is free software; you can redistribute it and/or
05: //modify it under the terms of the GNU Lesser General Public
06: //License as published by the Free Software Foundation; either
07: //version 2.1 of the License, or (at your option) any later version.
08: //
09: //This library is distributed in the hope that it will be useful,
10: //but WITHOUT ANY WARRANTY; without even the implied warranty of
11: //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12: //Lesser General Public License for more details.
13: //
14: //You should have received a copy of the GNU Lesser General Public
15: //License along with this library; if not, write to the Free Software
16: //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17:
18: package net.ar.webonswing.wrapping.swing;
19:
20: import java.awt.*;
21:
22: import javax.swing.*;
23:
24: import net.ar.webonswing.managers.persistence.*;
25: import net.ar.webonswing.wrapping.*;
26:
27: public class SwingWindowWrapper extends WindowWrapper implements
28: Virtualizable {
29: public SwingWindowWrapper() {
30: super ();
31: }
32:
33: public SwingWindowWrapper(Object aComponent) {
34: super (aComponent);
35: }
36:
37: public void setBounds(Rectangle aRectangle) {
38: JRootPane theRootPane = ((RootPaneContainer) getWrappedComponent())
39: .getRootPane();
40: theRootPane.getTopLevelAncestor().setBounds(aRectangle);
41: theRootPane.getContentPane().setBounds(aRectangle);
42: theRootPane.setBounds(aRectangle);
43: }
44:
45: public VisualWindow newInstance() {
46: return new SwingWindowWrapper();
47: }
48:
49: public Rectangle getBounds() {
50: return ((RootPaneContainer) getWrappedComponent())
51: .getContentPane().getBounds();
52: }
53:
54: public Object getVirtualInstance(
55: PersistenceContributionContainer aPersistenceContainer) {
56: return new VirtualWindowWrapper(newInstance(), getName(),
57: getTypeId(), aPersistenceContainer);
58: }
59: }
|