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.walkers;
19:
20: import java.awt.*;
21:
22: import javax.swing.*;
23:
24: import net.ar.webonswing.*;
25: import net.ar.webonswing.visitor.*;
26:
27: /**
28: * Recorrido mas comun de subcomponentes, los componentes estan en el arreglo obtenido con JComponent.getComponents()
29: *
30: * @author Fernando Damian Petrola
31: */
32: public class DefaultSwingVisitableContainer implements
33: VisitableContainer {
34: protected JComponent theComponent;
35:
36: public void setComponent(Object aComponent) {
37: theComponent = (JComponent) aComponent;
38: }
39:
40: public void accept(Visitor aVisitor) {
41: ContainerVisitor theVisitor = (ContainerVisitor) aVisitor;
42:
43: theVisitor.visitContainerBegin(theComponent);
44:
45: Component[] theComponents = (theComponent).getComponents();
46: for (int i = 0; i < theComponents.length; i++) {
47: JComponent theJComponent = (JComponent) theComponents[i];
48: VisitableContainer theVisitable = WosFramework
49: .getInstance().getHierarchyWrapper()
50: .getContainerVisitable(theJComponent);
51: theVisitable.setComponent(theJComponent);
52: theVisitable.accept(aVisitor);
53: }
54:
55: theVisitor.visitContainerEnd(theComponent);
56: }
57: }
|