1 29 30 package nextapp.echo2.testapp.interactive.testscreen; 31 32 import java.util.Locale ; 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 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 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 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 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 ("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 |