KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nextapp > echo2 > testapp > interactive > testscreen > VisibilityTest


1 /*
2  * This file is part of the Echo Web Application Framework (hereinafter "Echo").
3  * Copyright (C) 2002-2005 NextApp, Inc.
4  *
5  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6  *
7  * The contents of this file are subject to the Mozilla Public License Version
8  * 1.1 (the "License"); you may not use this file except in compliance with
9  * the License. You may obtain a copy of the License at
10  * http://www.mozilla.org/MPL/
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * Alternatively, the contents of this file may be used under the terms of
18  * either the GNU General Public License Version 2 or later (the "GPL"), or
19  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
20  * in which case the provisions of the GPL or the LGPL are applicable instead
21  * of those above. If you wish to allow use of your version of this file only
22  * under the terms of either the GPL or the LGPL, and not to allow others to
23  * use your version of this file under the terms of the MPL, indicate your
24  * decision by deleting the provisions above and replace them with the notice
25  * and other provisions required by the GPL or the LGPL. If you do not delete
26  * the provisions above, a recipient may use your version of this file under
27  * the terms of any one of the MPL, the GPL or the LGPL.
28  */

29
30 package nextapp.echo2.testapp.interactive.testscreen;
31
32 import nextapp.echo2.app.Button;
33 import nextapp.echo2.app.Column;
34 import nextapp.echo2.app.Component;
35 import nextapp.echo2.app.Extent;
36 import nextapp.echo2.app.Insets;
37 import nextapp.echo2.app.SplitPane;
38 import nextapp.echo2.app.TextField;
39 import nextapp.echo2.app.event.ActionEvent;
40 import nextapp.echo2.app.event.ActionListener;
41 import nextapp.echo2.app.layout.SplitPaneLayoutData;
42 import nextapp.echo2.testapp.interactive.ButtonColumn;
43
44 /**
45  * Interactive test for component visibility.
46  */

47 public class VisibilityTest extends SplitPane {
48
49     final Column testColumn;
50     
51     public VisibilityTest() {
52         super(SplitPane.ORIENTATION_HORIZONTAL, new Extent(250, Extent.PX));
53         setStyleName("DefaultResizable");
54         
55         ButtonColumn controlsColumn = new ButtonColumn();
56         controlsColumn.setStyleName("TestControlsColumn");
57         add(controlsColumn);
58
59         controlsColumn.addButton("Visible = True", new ActionListener() {
60             public void actionPerformed(ActionEvent e) {
61                 adjustVisibility(true);
62             }
63         });
64         controlsColumn.addButton("Visible = False", new ActionListener() {
65             public void actionPerformed(ActionEvent e) {
66                 adjustVisibility(false);
67             }
68         });
69
70         testColumn = new Column();
71         testColumn.setCellSpacing(new Extent(5));
72         SplitPaneLayoutData splitPaneLayoutData = new SplitPaneLayoutData();
73         splitPaneLayoutData.setInsets(new Insets(10));
74         testColumn.setLayoutData(splitPaneLayoutData);
75         add(testColumn);
76         
77         TextField textField = new TextField();
78         testColumn.add(textField);
79         
80         Button button = new Button("Test Button");
81         testColumn.add(button);
82     }
83     
84     private void adjustVisibility(boolean newValue) {
85         Component[] testComponents = testColumn.getComponents();
86         for (int i = 0; i < testComponents.length; ++i) {
87             testComponents[i].setVisible(newValue);
88         }
89     }
90 }
91
Popular Tags