KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.util.Locale JavaDoc;
33
34 import nextapp.echo2.app.Alignment;
35 import nextapp.echo2.app.Color;
36 import nextapp.echo2.app.Component;
37 import nextapp.echo2.app.Extent;
38 import nextapp.echo2.app.Font;
39 import nextapp.echo2.app.Insets;
40 import nextapp.echo2.app.Label;
41 import nextapp.echo2.app.Column;
42 import nextapp.echo2.app.LayoutDirection;
43 import nextapp.echo2.app.SplitPane;
44 import nextapp.echo2.app.event.ActionEvent;
45 import nextapp.echo2.app.event.ActionListener;
46 import nextapp.echo2.app.layout.SplitPaneLayoutData;
47 import nextapp.echo2.testapp.interactive.ButtonColumn;
48 import nextapp.echo2.testapp.interactive.StyleUtil;
49 import nextapp.echo2.testapp.interactive.Styles;
50
51 /**
52  * An interactive test for <code>Label</code>s.
53  */

54 public class LabelTest extends SplitPane {
55     
56     private interface Applicator {
57         
58         public void apply(Label label);
59     }
60     
61     private Column testColumn;
62     
63     public LabelTest() {
64         super(SplitPane.ORIENTATION_HORIZONTAL, new Extent(250, Extent.PX));
65         setStyleName("DefaultResizable");
66
67         SplitPaneLayoutData splitPaneLayoutData;
68         
69         Column controlGroupsColumn = new Column();
70         controlGroupsColumn.setCellSpacing(new Extent(5));
71         controlGroupsColumn.setStyleName("TestControlsColumn");
72         add(controlGroupsColumn);
73         
74         testColumn = new Column();
75         testColumn.setCellSpacing(new Extent(15));
76         splitPaneLayoutData = new SplitPaneLayoutData();
77         splitPaneLayoutData.setInsets(new Insets(15));
78         testColumn.setLayoutData(splitPaneLayoutData);
79         add(testColumn);
80         
81         final Label iconLabel = new Label(Styles.ICON_LOGO);
82         testColumn.add(iconLabel);
83         
84         final Label textLabel = new Label("Test Label");
85         testColumn.add(textLabel);
86         
87         final Label iconTextLabel = new Label("Test Label", Styles.ICON_LOGO);
88         testColumn.add(iconTextLabel);
89
90         ButtonColumn controlsColumn;
91         
92         controlsColumn = new ButtonColumn();
93         controlGroupsColumn.add(controlsColumn);
94
95         // Base Properties
96

97         controlsColumn = new ButtonColumn();
98         controlGroupsColumn.add(controlsColumn);
99         
100         controlsColumn.add(new Label("Base Properties"));
101         controlsColumn.addButton("Toggle Container Cell Spacing", new ActionListener() {
102             public void actionPerformed(ActionEvent e) {
103                 if (testColumn.getCellSpacing() == null) {
104                     testColumn.setCellSpacing(new Extent(15));
105                 } else {
106                     testColumn.setCellSpacing(null);
107                 }
108             }
109         });
110         controlsColumn.addButton("Set Foreground", new ActionListener() {
111             public void actionPerformed(ActionEvent e) {
112                 final Color color = StyleUtil.randomColor();
113                 apply(new Applicator() {
114                     public void apply(Label label) {
115                         label.setForeground(color);
116                     }
117                 });
118             }
119         });
120         controlsColumn.addButton("Clear Foreground", new ActionListener() {
121             public void actionPerformed(ActionEvent e) {
122                 apply(new Applicator() {
123                     public void apply(Label label) {
124                         label.setForeground(null);
125                     }
126                 });
127             }
128         });
129         controlsColumn.addButton("Set Background", new ActionListener() {
130             public void actionPerformed(ActionEvent e) {
131                 final Color color = StyleUtil.randomColor();
132                 apply(new Applicator() {
133                     public void apply(Label label) {
134                         label.setBackground(color);
135                     }
136                 });
137             }
138         });
139         controlsColumn.addButton("Clear Background", new ActionListener() {
140             public void actionPerformed(ActionEvent e) {
141                 apply(new Applicator() {
142                     public void apply(Label label) {
143                         label.setBackground(null);
144                     }
145                 });
146             }
147         });
148         controlsColumn.addButton("Set Font", new ActionListener() {
149             public void actionPerformed(ActionEvent e) {
150                 final Font font = StyleUtil.randomFont();
151                 apply(new Applicator() {
152                     public void apply(Label label) {
153                         label.setFont(font);
154                     }
155                 });
156             }
157         });
158         controlsColumn.addButton("Clear Font", new ActionListener() {
159             public void actionPerformed(ActionEvent e) {
160                 apply(new Applicator() {
161                     public void apply(Label label) {
162                         label.setFont(null);
163                     }
164                 });
165             }
166         });
167         controlsColumn.addButton("Set Text = Short", new ActionListener() {
168             public void actionPerformed(ActionEvent e) {
169                 apply(new Applicator() {
170                     public void apply(Label label) {
171                         if (label.getText() != null) {
172                             label.setText("Test Label");
173                         }
174                     }
175                 });
176             }
177         });
178         controlsColumn.addButton("Set Text = Long", new ActionListener() {
179             public void actionPerformed(ActionEvent e) {
180                 apply(new Applicator() {
181                     public void apply(Label label) {
182                         if (label.getText() != null) {
183                             label.setText("This is a longer label. The quick brown fox jumps over the lazy brown dog.");
184                         }
185                     }
186                 });
187             }
188         });
189         controlsColumn.addButton("Set Line Wrap = true", new ActionListener() {
190             public void actionPerformed(ActionEvent e) {
191                 apply(new Applicator() {
192                     public void apply(Label label) {
193                         label.setLineWrap(true);
194                     }
195                 });
196             }
197         });
198         controlsColumn.addButton("Set Line Wrap = false", new ActionListener() {
199             public void actionPerformed(ActionEvent e) {
200                 apply(new Applicator() {
201                     public void apply(Label label) {
202                         label.setLineWrap(false);
203                     }
204                 });
205             }
206         });
207         controlsColumn.addButton("Toggle ToolTip Text", new ActionListener(){
208             public void actionPerformed(ActionEvent e) {
209                 apply(new Applicator() {
210                     public void apply(Label label) {
211                         if (label.getToolTipText() == null) {
212                             label.setToolTipText("This is a tool tip.");
213                         } else {
214                             label.setToolTipText(null);
215                         }
216                     }
217                 });
218             }
219         });
220
221         // Alignment & Positioning
222

223         controlsColumn = new ButtonColumn();
224         controlGroupsColumn.add(controlsColumn);
225         
226         controlsColumn.add(new Label("Alignment & Positioning"));
227         controlsColumn.addButton("TextPosition = Default", new ActionListener() {
228             public void actionPerformed(ActionEvent e) {
229                 apply(new Applicator() {
230                     public void apply(Label label) {
231                         label.setTextPosition(null);
232                     }
233                 });
234             }
235         });
236         controlsColumn.addButton("TextPosition = Top", new ActionListener() {
237             public void actionPerformed(ActionEvent e) {
238                 apply(new Applicator() {
239                     public void apply(Label label) {
240                         label.setTextPosition(new Alignment(Alignment.DEFAULT, Alignment.TOP));
241                     }
242                 });
243             }
244         });
245         controlsColumn.addButton("TextPosition = Bottom", new ActionListener() {
246             public void actionPerformed(ActionEvent e) {
247                 apply(new Applicator() {
248                     public void apply(Label label) {
249                         label.setTextPosition(new Alignment(Alignment.DEFAULT, Alignment.BOTTOM));
250                     }
251                 });
252             }
253         });
254         controlsColumn.addButton("TextPosition = Left", new ActionListener() {
255             public void actionPerformed(ActionEvent e) {
256                 apply(new Applicator() {
257                     public void apply(Label label) {
258                         label.setTextPosition(new Alignment(Alignment.LEFT, Alignment.DEFAULT));
259                     }
260                 });
261             }
262         });
263         controlsColumn.addButton("TextPosition = Right", new ActionListener() {
264             public void actionPerformed(ActionEvent e) {
265                 apply(new Applicator() {
266                     public void apply(Label label) {
267                         label.setTextPosition(new Alignment(Alignment.RIGHT, Alignment.DEFAULT));
268                     }
269                 });
270             }
271         });
272         controlsColumn.addButton("TextPosition = Leading", new ActionListener() {
273             public void actionPerformed(ActionEvent e) {
274                 apply(new Applicator() {
275                     public void apply(Label label) {
276                         label.setTextPosition(new Alignment(Alignment.LEADING, Alignment.DEFAULT));
277                     }
278                 });
279             }
280         });
281         controlsColumn.addButton("TextPosition = Trailing", new ActionListener() {
282             public void actionPerformed(ActionEvent e) {
283                 apply(new Applicator() {
284                     public void apply(Label label) {
285                         label.setTextPosition(new Alignment(Alignment.TRAILING, Alignment.DEFAULT));
286                     }
287                 });
288             }
289         });
290         controlsColumn.addButton("TextAlignment = Default", new ActionListener() {
291             public void actionPerformed(ActionEvent e) {
292                 apply(new Applicator() {
293                     public void apply(Label label) {
294                         label.setTextAlignment(null);
295                     }
296                 });
297             }
298         });
299         controlsColumn.addButton("TextAlignment = Top", new ActionListener() {
300             public void actionPerformed(ActionEvent e) {
301                 apply(new Applicator() {
302                     public void apply(Label label) {
303                         label.setTextAlignment(new Alignment(Alignment.DEFAULT, Alignment.TOP));
304                     }
305                 });
306             }
307         });
308         controlsColumn.addButton("TextAlignment = Center(V)", new ActionListener() {
309             public void actionPerformed(ActionEvent e) {
310                 apply(new Applicator() {
311                     public void apply(Label label) {
312                         label.setTextAlignment(new Alignment(Alignment.DEFAULT, Alignment.CENTER));
313                     }
314                 });
315             }
316         });
317         controlsColumn.addButton("TextAlignment = Bottom", new ActionListener() {
318             public void actionPerformed(ActionEvent e) {
319                 apply(new Applicator() {
320                     public void apply(Label label) {
321                         label.setTextAlignment(new Alignment(Alignment.DEFAULT, Alignment.BOTTOM));
322                     }
323                 });
324             }
325         });
326         controlsColumn.addButton("TextAlignment = Left", new ActionListener() {
327             public void actionPerformed(ActionEvent e) {
328                 apply(new Applicator() {
329                     public void apply(Label label) {
330                         label.setTextAlignment(new Alignment(Alignment.LEFT, Alignment.DEFAULT));
331                     }
332                 });
333             }
334         });
335         controlsColumn.addButton("TextAlignment = Center (H)", new ActionListener() {
336             public void actionPerformed(ActionEvent e) {
337                 apply(new Applicator() {
338                     public void apply(Label label) {
339                         label.setTextAlignment(new Alignment(Alignment.CENTER, Alignment.DEFAULT));
340                     }
341                 });
342             }
343         });
344         controlsColumn.addButton("TextAlignment = Right", new ActionListener() {
345             public void actionPerformed(ActionEvent e) {
346                 apply(new Applicator() {
347                     public void apply(Label label) {
348                         label.setTextAlignment(new Alignment(Alignment.RIGHT, Alignment.DEFAULT));
349                     }
350                 });
351             }
352         });
353         controlsColumn.addButton("TextAlignment = Leading", new ActionListener() {
354             public void actionPerformed(ActionEvent e) {
355                 apply(new Applicator() {
356                     public void apply(Label label) {
357                         label.setTextAlignment(new Alignment(Alignment.LEADING, Alignment.DEFAULT));
358                     }
359                 });
360             }
361         });
362         controlsColumn.addButton("TextAlignment = Trailing", new ActionListener() {
363             public void actionPerformed(ActionEvent e) {
364                 apply(new Applicator() {
365                     public void apply(Label label) {
366                         label.setTextAlignment(new Alignment(Alignment.TRAILING, Alignment.DEFAULT));
367                     }
368                 });
369             }
370         });
371         controlsColumn.addButton("IconTextMargin = default", new ActionListener() {
372             public void actionPerformed(ActionEvent e) {
373                 apply(new Applicator() {
374                     public void apply(Label label) {
375                         label.setIconTextMargin(null);
376                     }
377                 });
378             }
379         });
380         controlsColumn.addButton("IconTextMargin = 0px", new ActionListener() {
381             public void actionPerformed(ActionEvent e) {
382                 apply(new Applicator() {
383                     public void apply(Label label) {
384                         label.setIconTextMargin(new Extent(0));
385                     }
386                 });
387             }
388         });
389         controlsColumn.addButton("IconTextMargin = 1px", new ActionListener() {
390             public void actionPerformed(ActionEvent e) {
391                 apply(new Applicator() {
392                     public void apply(Label label) {
393                         label.setIconTextMargin(new Extent(1));
394                     }
395                 });
396             }
397         });
398         controlsColumn.addButton("IconTextMargin = 2px", new ActionListener() {
399             public void actionPerformed(ActionEvent e) {
400                 apply(new Applicator() {
401                     public void apply(Label label) {
402                         label.setIconTextMargin(new Extent(2));
403                     }
404                 });
405             }
406         });
407         controlsColumn.addButton("IconTextMargin = 3px", new ActionListener() {
408             public void actionPerformed(ActionEvent e) {
409                 apply(new Applicator() {
410                     public void apply(Label label) {
411                         label.setIconTextMargin(new Extent(3));
412                     }
413                 });
414             }
415         });
416         controlsColumn.addButton("IconTextMargin = 4px", new ActionListener() {
417             public void actionPerformed(ActionEvent e) {
418                 apply(new Applicator() {
419                     public void apply(Label label) {
420                         label.setIconTextMargin(new Extent(4));
421                     }
422                 });
423             }
424         });
425         controlsColumn.addButton("IconTextMargin = 5px", new ActionListener() {
426             public void actionPerformed(ActionEvent e) {
427                 apply(new Applicator() {
428                     public void apply(Label label) {
429                         label.setIconTextMargin(new Extent(5));
430                     }
431                 });
432             }
433         });
434         controlsColumn.addButton("IconTextMargin = 10px", new ActionListener() {
435             public void actionPerformed(ActionEvent e) {
436                 apply(new Applicator() {
437                     public void apply(Label label) {
438                         label.setIconTextMargin(new Extent(10));
439                     }
440                 });
441             }
442         });
443         controlsColumn.addButton("IconTextMargin = 1in", new ActionListener() {
444             public void actionPerformed(ActionEvent e) {
445                 apply(new Applicator() {
446                     public void apply(Label label) {
447                         label.setIconTextMargin(new Extent(1, Extent.IN));
448                     }
449                 });
450             }
451         });
452         
453         // Localization
454

455         controlsColumn = new ButtonColumn();
456         controlGroupsColumn.add(controlsColumn);
457         
458         controlsColumn.add(new Label("Localization"));
459         
460         controlsColumn.addButton("Locale = null", new ActionListener() {
461             public void actionPerformed(ActionEvent e) {
462                 apply(new Applicator() {
463                     public void apply(Label label) {
464                         label.setLocale(null);
465                     }
466                 });
467             }
468         });
469         controlsColumn.addButton("Locale = US", new ActionListener() {
470             public void actionPerformed(ActionEvent e) {
471                 apply(new Applicator() {
472                     public void apply(Label label) {
473                         label.setLocale(Locale.US);
474                     }
475                 });
476             }
477         });
478         controlsColumn.addButton("Locale = HEBREW (RTL)", new ActionListener() {
479             public void actionPerformed(ActionEvent e) {
480                 apply(new Applicator() {
481                     public void apply(Label label) {
482                         label.setLocale(new Locale JavaDoc("iw"));
483                     }
484                 });
485             }
486         });
487         controlsColumn.addButton("LayoutDirection = null", new ActionListener() {
488             public void actionPerformed(ActionEvent e) {
489                 apply(new Applicator() {
490                     public void apply(Label label) {
491                         label.setLayoutDirection(null);
492                     }
493                 });
494             }
495         });
496         controlsColumn.addButton("LayoutDirection = LTR", new ActionListener() {
497             public void actionPerformed(ActionEvent e) {
498                 apply(new Applicator() {
499                     public void apply(Label label) {
500                         label.setLayoutDirection(LayoutDirection.LTR);
501                     }
502                 });
503             }
504         });
505         controlsColumn.addButton("LayoutDirection = RTL", new ActionListener() {
506             public void actionPerformed(ActionEvent e) {
507                 apply(new Applicator() {
508                     public void apply(Label label) {
509                         label.setLayoutDirection(LayoutDirection.RTL);
510                     }
511                 });
512             }
513         });
514     }
515
516     public void apply(Applicator applicator) {
517         Component[] components = testColumn.getComponents();
518         for (int i = 0; i < components.length; ++i) {
519             applicator.apply((Label) components[i]);
520         }
521     }
522 }
523
Popular Tags