1 30 31 package com.jgoodies.looks.plastic; 32 33 import java.awt.Color ; 34 import java.util.ArrayList ; 35 import java.util.Collections ; 36 import java.util.Comparator ; 37 import java.util.List ; 38 39 import javax.swing.Icon ; 40 import javax.swing.UIDefaults ; 41 import javax.swing.border.Border ; 42 import javax.swing.plaf.BorderUIResource ; 43 import javax.swing.plaf.ColorUIResource ; 44 import javax.swing.plaf.FontUIResource ; 45 import javax.swing.plaf.InsetsUIResource ; 46 import javax.swing.plaf.basic.BasicBorders ; 47 import javax.swing.plaf.metal.MetalLookAndFeel ; 48 import javax.swing.plaf.metal.MetalTheme ; 49 50 import com.jgoodies.looks.FontSizeHints; 51 import com.jgoodies.looks.LookUtils; 52 import com.jgoodies.looks.Options; 53 import com.jgoodies.looks.common.MinimumSizedIcon; 54 import com.jgoodies.looks.common.ShadowPopupFactory; 55 import com.jgoodies.looks.plastic.theme.SkyBluerTahoma; 56 57 64 public class PlasticLookAndFeel extends MetalLookAndFeel { 65 66 68 71 public static final String BORDER_STYLE_KEY = "Plastic.borderStyle"; 72 73 76 public static final String IS_3D_KEY = "Plastic.is3D"; 77 78 81 public static final String DEFAULT_THEME_KEY = 82 "Plastic.defaultTheme"; 83 84 91 public static final String HIGH_CONTRAST_FOCUS_ENABLED_KEY = 92 "Plastic.highContrastFocus"; 93 94 99 protected static final String TAB_STYLE_KEY = 100 "Plastic.tabStyle"; 101 102 106 public static final String TAB_STYLE_DEFAULT_VALUE = 107 "default"; 108 109 113 public static final String TAB_STYLE_METAL_VALUE = 114 "metal"; 115 116 117 119 122 private static boolean useMetalTabs = 123 LookUtils.getSystemProperty(TAB_STYLE_KEY, ""). 124 equalsIgnoreCase(TAB_STYLE_METAL_VALUE); 125 126 129 public static boolean useHighContrastFocusColors = 130 LookUtils.getSystemProperty(HIGH_CONTRAST_FOCUS_ENABLED_KEY) != null; 131 132 135 private static List installedThemes; 136 137 138 private static PlasticTheme myCurrentTheme; 139 140 141 142 private static boolean is3DEnabled = false; 143 144 145 146 private static FontSizeHints fontSizeHints; 147 148 149 152 public PlasticLookAndFeel() { 153 if (null == myCurrentTheme) 154 setMyCurrentTheme(createMyDefaultTheme()); 155 } 156 157 public String getID() { 158 return "JGoodies Plastic"; 159 } 160 161 public String getName() { 162 return "JGoodies Plastic"; 163 } 164 165 public String getDescription() { 166 return "The JGoodies Plastic Look and Feel" 167 + " - \u00a9 2001-2005 JGoodies Karsten Lentzsch"; 168 } 169 170 172 181 public static FontSizeHints getFontSizeHints() { 182 return fontSizeHints != null 183 ? fontSizeHints 184 : Options.getGlobalFontSizeHints(); 185 } 186 187 194 public static void setFontSizeHints(FontSizeHints newHints) { 195 fontSizeHints = newHints; 196 } 197 198 protected boolean is3DEnabled() { 199 return is3DEnabled; 200 } 201 202 public static void set3DEnabled(boolean b) { 203 is3DEnabled = b; 204 } 205 206 public static String getTabStyle() { 207 return useMetalTabs ? TAB_STYLE_METAL_VALUE : TAB_STYLE_DEFAULT_VALUE; 208 } 209 210 public static void setTabStyle(String tabStyle) { 211 useMetalTabs = tabStyle.equalsIgnoreCase(TAB_STYLE_METAL_VALUE); 212 } 213 214 public static boolean getHighContrastFocusColorsEnabled() { 215 return useHighContrastFocusColors; 216 } 217 218 public static void setHighContrastFocusColorsEnabled(boolean b) { 219 useHighContrastFocusColors = b; 220 } 221 222 224 230 public void initialize() { 231 super.initialize(); 232 ShadowPopupFactory.install(); 233 } 234 235 236 242 public void uninitialize() { 243 super.uninitialize(); 244 ShadowPopupFactory.uninstall(); 245 } 246 247 248 255 protected void initClassDefaults(UIDefaults table) { 256 super.initClassDefaults(table); 257 258 String PLASTIC_PREFIX = "com.jgoodies.looks.plastic.Plastic"; 259 String COMMON_PREFIX = "com.jgoodies.looks.common.ExtBasic"; 260 261 Object [] uiDefaults = { 263 "ButtonUI", PLASTIC_PREFIX + "ButtonUI", 265 "ToggleButtonUI", PLASTIC_PREFIX + "ToggleButtonUI", 266 267 "ComboBoxUI", PLASTIC_PREFIX + "ComboBoxUI", 269 "ScrollBarUI", PLASTIC_PREFIX + "ScrollBarUI", 270 "SpinnerUI", PLASTIC_PREFIX + "SpinnerUI", 271 272 "MenuBarUI", PLASTIC_PREFIX + "MenuBarUI", 274 "ToolBarUI", PLASTIC_PREFIX + "ToolBarUI", 275 276 "MenuUI", PLASTIC_PREFIX + "MenuUI", 278 "MenuItemUI", COMMON_PREFIX + "MenuItemUI", 279 "CheckBoxMenuItemUI", COMMON_PREFIX + "CheckBoxMenuItemUI", 280 "RadioButtonMenuItemUI", COMMON_PREFIX + "RadioButtonMenuItemUI", 281 282 "PopupMenuSeparatorUI", COMMON_PREFIX + "PopupMenuSeparatorUI", 284 285 "OptionPaneUI", PLASTIC_PREFIX + "OptionPaneUI", 287 288 "ScrollPaneUI", PLASTIC_PREFIX + "ScrollPaneUI", 290 291 "SplitPaneUI", PLASTIC_PREFIX + "SplitPaneUI", 293 294 "TreeUI", PLASTIC_PREFIX + "TreeUI", 296 297 "InternalFrameUI", PLASTIC_PREFIX + "InternalFrameUI", 299 300 "SeparatorUI", PLASTIC_PREFIX + "SeparatorUI", 302 "ToolBarSeparatorUI", PLASTIC_PREFIX + "ToolBarSeparatorUI" 303 304 }; 305 table.putDefaults(uiDefaults); 306 if (!useMetalTabs) { 307 table.put("TabbedPaneUI", PLASTIC_PREFIX + "TabbedPaneUI"); 309 } 310 } 311 312 313 protected void initComponentDefaults(UIDefaults table) { 314 super.initComponentDefaults(table); 315 316 Object marginBorder = new BasicBorders.MarginBorder (); 317 318 Object buttonBorder = PlasticBorders.getButtonBorder(); 319 Object menuItemBorder = PlasticBorders.getMenuItemBorder(); 320 Object textFieldBorder = PlasticBorders.getTextFieldBorder(); 321 Object toggleButtonBorder = PlasticBorders.getToggleButtonBorder(); 322 323 Object popupMenuBorder = PlasticBorders.getPopupMenuBorder(); 324 325 Object scrollPaneBorder = PlasticBorders.getScrollPaneBorder(); 326 Object tableHeaderBorder = new BorderUIResource ( 327 (Border ) table.get("TableHeader.cellBorder")); 328 329 Object menuBarEmptyBorder = marginBorder; 330 Object menuBarSeparatorBorder = PlasticBorders.getSeparatorBorder(); 331 Object menuBarEtchedBorder = PlasticBorders.getEtchedBorder(); 332 Object menuBarHeaderBorder = PlasticBorders.getMenuBarHeaderBorder(); 333 334 Object toolBarEmptyBorder = marginBorder; 335 Object toolBarSeparatorBorder = PlasticBorders.getSeparatorBorder(); 336 Object toolBarEtchedBorder = PlasticBorders.getEtchedBorder(); 337 Object toolBarHeaderBorder = PlasticBorders.getToolBarHeaderBorder(); 338 339 Object internalFrameBorder = getInternalFrameBorder(); 340 Object paletteBorder = getPaletteBorder(); 341 342 Color controlColor = table.getColor("control"); 343 344 Object checkBoxIcon = PlasticIconFactory.getCheckBoxIcon(); 345 Object checkBoxMargin = new InsetsUIResource (2, 0, 2, 1); 347 Object defaultButtonMargin = LookUtils.createButtonMargin(false); 348 Object narrowButtonMargin = LookUtils.createButtonMargin(true); 349 350 Object textInsets = new InsetsUIResource (1, 2, 1, 2); 352 Object wrappedTextInsets = new InsetsUIResource (2, 3, 1, 2); 353 354 Object menuItemMargin = LookUtils.IS_LOW_RESOLUTION 355 ? new InsetsUIResource (3, 0, 3, 0) 356 : new InsetsUIResource (2, 0, 2, 0); 357 Object menuMargin = new InsetsUIResource (2, 4, 2, 4); 358 359 Icon menuItemCheckIcon = new MinimumSizedIcon(); 360 Icon checkBoxMenuItemIcon = PlasticIconFactory.getCheckBoxMenuItemIcon(); 361 Icon radioButtonMenuItemIcon = PlasticIconFactory.getRadioButtonMenuItemIcon(); 362 363 Color menuItemForeground = table.getColor("MenuItem.foreground"); 364 365 int treeFontSize = table.getFont("Tree.font").getSize(); 367 Integer rowHeight = new Integer (treeFontSize + 6); 368 Object treeExpandedIcon = PlasticIconFactory.getExpandedTreeIcon(); 369 Object treeCollapsedIcon = PlasticIconFactory.getCollapsedTreeIcon(); 370 ColorUIResource gray = new ColorUIResource (Color.GRAY); 371 372 Boolean is3D = Boolean.valueOf(is3DEnabled()); 373 374 Object [] defaults = { 375 "Button.border", buttonBorder, 376 "Button.margin", defaultButtonMargin, 377 "Button.narrowMargin", narrowButtonMargin, 378 379 "CheckBox.margin", checkBoxMargin, 380 381 "CheckBox.icon", checkBoxIcon, 383 384 "CheckBoxMenuItem.border", menuItemBorder, 385 "CheckBoxMenuItem.margin", menuItemMargin, "CheckBoxMenuItem.checkIcon", checkBoxMenuItemIcon, 387 "CheckBoxMenuItem.background", getMenuItemBackground(), "CheckBoxMenuItem.selectionForeground", getMenuItemSelectedForeground(), 389 "CheckBoxMenuItem.selectionBackground", getMenuItemSelectedBackground(), 390 "CheckBoxMenuItem.acceleratorForeground", menuItemForeground, 391 "CheckBoxMenuItem.acceleratorSelectionForeground",getMenuItemSelectedForeground(), 392 "CheckBoxMenuItem.acceleratorSelectionBackground",getMenuItemSelectedBackground(), 393 394 "ComboBox.selectionForeground", getMenuSelectedForeground(), 396 "ComboBox.selectionBackground", getMenuSelectedBackground(), 397 "ComboBox.arrowButtonBorder", PlasticBorders.getComboBoxArrowButtonBorder(), 398 "ComboBox.editorBorder", PlasticBorders.getComboBoxEditorBorder(), 399 "ComboBox.editorColumns", new Integer (5), 400 401 "EditorPane.margin", wrappedTextInsets, 402 403 "InternalFrame.border", internalFrameBorder, 404 "InternalFrame.paletteBorder", paletteBorder, 405 406 "List.font", getControlTextFont(), 407 "Menu.border", PlasticBorders.getMenuBorder(), 408 "Menu.margin", menuMargin, 409 "Menu.arrowIcon", PlasticIconFactory.getMenuArrowIcon(), 410 411 "MenuBar.emptyBorder", menuBarEmptyBorder, "MenuBar.separatorBorder", menuBarSeparatorBorder, "MenuBar.etchedBorder", menuBarEtchedBorder, "MenuBar.headerBorder", menuBarHeaderBorder, 416 "MenuItem.border", menuItemBorder, 417 "MenuItem.checkIcon", menuItemCheckIcon, "MenuItem.margin", menuItemMargin, "MenuItem.background", getMenuItemBackground(), "MenuItem.selectionForeground", getMenuItemSelectedForeground(), "MenuItem.selectionBackground", getMenuItemSelectedBackground(), "MenuItem.acceleratorForeground", menuItemForeground, 423 "MenuItem.acceleratorSelectionForeground", getMenuItemSelectedForeground(), 424 "MenuItem.acceleratorSelectionBackground", getMenuItemSelectedBackground(), 425 426 "OptionPane.errorIcon", makeIcon(getClass(), "icons/Error.png"), 427 "OptionPane.informationIcon", makeIcon(getClass(), "icons/Inform.png"), 428 "OptionPane.warningIcon", makeIcon(getClass(), "icons/Warn.png"), 429 "OptionPane.questionIcon", makeIcon(getClass(), "icons/Question.png"), 430 431 "FileView.computerIcon", makeIcon(getClass(), "icons/Computer.gif"), 433 "FileView.directoryIcon", makeIcon(getClass(), "icons/TreeClosed.gif"), 434 "FileView.fileIcon", makeIcon(getClass(), "icons/File.gif"), 435 "FileView.floppyDriveIcon", makeIcon(getClass(), "icons/FloppyDrive.gif"), 436 "FileView.hardDriveIcon", makeIcon(getClass(), "icons/HardDrive.gif"), 437 "FileChooser.homeFolderIcon", makeIcon(getClass(), "icons/HomeFolder.gif"), 438 "FileChooser.newFolderIcon", makeIcon(getClass(), "icons/NewFolder.gif"), 439 "FileChooser.upFolderIcon", makeIcon(getClass(), "icons/UpFolder.gif"), 440 "Tree.closedIcon", makeIcon(getClass(), "icons/TreeClosed.gif"), 441 "Tree.openIcon", makeIcon(getClass(), "icons/TreeOpen.gif"), 442 "Tree.leafIcon", makeIcon(getClass(), "icons/TreeLeaf.gif"), 443 444 "FormattedTextField.border", textFieldBorder, 445 "FormattedTextField.margin", textInsets, 446 447 "PasswordField.border", textFieldBorder, 448 "PasswordField.margin", textInsets, 449 450 "PopupMenu.border", popupMenuBorder, 451 "PopupMenuSeparator.margin", new InsetsUIResource (3, 4, 3, 4), 452 453 "RadioButton.margin", checkBoxMargin, 454 "RadioButtonMenuItem.border", menuItemBorder, 455 "RadioButtonMenuItem.checkIcon", radioButtonMenuItemIcon, 456 "RadioButtonMenuItem.margin", menuItemMargin, "RadioButtonMenuItem.background", getMenuItemBackground(), "RadioButtonMenuItem.selectionForeground", getMenuItemSelectedForeground(), 459 "RadioButtonMenuItem.selectionBackground", getMenuItemSelectedBackground(), 460 "RadioButtonMenuItem.acceleratorForeground", menuItemForeground, 461 "RadioButtonMenuItem.acceleratorSelectionForeground", getMenuItemSelectedForeground(), 462 "RadioButtonMenuItem.acceleratorSelectionBackground", getMenuItemSelectedBackground(), 463 "Separator.foreground", getControlDarkShadow(), 464 "ScrollPane.border", scrollPaneBorder, 465 "ScrollPane.etchedBorder", scrollPaneBorder, 466 468 "SimpleInternalFrame.activeTitleForeground", getSimpleInternalFrameForeground(), 469 "SimpleInternalFrame.activeTitleBackground", getSimpleInternalFrameBackground(), 470 471 "Spinner.border", PlasticBorders.getFlush3DBorder(), 472 "Spinner.defaultEditorInsets", textInsets, 473 474 "SplitPane.dividerSize", new Integer (7), 475 "TabbedPane.focus", getFocusColor(), 476 "TabbedPane.tabInsets", new InsetsUIResource (1, 9, 1, 8), 477 "Table.foreground", table.get("textText"), 478 "Table.gridColor", controlColor, "Table.scrollPaneBorder", scrollPaneBorder, 480 "TableHeader.cellBorder", tableHeaderBorder, 481 "TextArea.margin", wrappedTextInsets, 482 "TextField.border", textFieldBorder, 483 "TextField.margin", textInsets, 484 "TitledBorder.font", getTitleTextFont(), 485 "TitledBorder.titleColor", getTitleTextColor(), 486 "ToggleButton.border", toggleButtonBorder, 487 "ToggleButton.margin", defaultButtonMargin, 488 "ToggleButton.narrowMargin", narrowButtonMargin, 489 490 "ToolBar.emptyBorder", toolBarEmptyBorder, "ToolBar.separatorBorder", toolBarSeparatorBorder, "ToolBar.etchedBorder", toolBarEtchedBorder, "ToolBar.headerBorder", toolBarHeaderBorder, 495 "ToolTip.hideAccelerator", Boolean.TRUE, 496 497 "Tree.expandedIcon", treeExpandedIcon, 498 "Tree.collapsedIcon", treeCollapsedIcon, 499 "Tree.line", gray, 500 "Tree.hash", gray, 501 "Tree.rowHeight", rowHeight, 502 503 "Button.is3DEnabled", is3D, 504 "ComboBox.is3DEnabled", is3D, 505 "MenuBar.is3DEnabled", is3D, 506 "ToolBar.is3DEnabled", is3D, 507 "ScrollBar.is3DEnabled", is3D, 508 "ToggleButton.is3DEnabled", is3D, 509 510 "CheckBox.border", marginBorder, 513 "RadioButton.border", marginBorder, 514 515 "ProgressBar.selectionForeground", getSystemTextColor(), 517 "ProgressBar.selectionBackground", getSystemTextColor() 518 }; 519 table.putDefaults(defaults); 520 521 String soundPathPrefix = "/javax/swing/plaf/metal/"; 523 Object [] auditoryCues = (Object []) table.get("AuditoryCues.allAuditoryCues"); 524 if (auditoryCues != null) { 525 Object [] audioDefaults = new String [auditoryCues.length * 2]; 526 for (int i = 0; i < auditoryCues.length; i++) { 527 Object auditoryCue = auditoryCues[i]; 528 audioDefaults[2*i] = auditoryCue; 529 audioDefaults[2*i + 1] = soundPathPrefix + table.getString(auditoryCue); 530 } 531 table.putDefaults(audioDefaults); 532 } 533 } 534 535 536 542 protected void initSystemColorDefaults(UIDefaults table) { 543 super.initSystemColorDefaults(table); 544 table.put("unifiedControlShadow", table.getColor("controlDkShadow")); 545 table.put("primaryControlHighlight", getPrimaryControlHighlight()); 546 } 547 548 549 551 private static final String THEME_CLASSNAME_PREFIX = "com.jgoodies.looks.plastic.theme."; 552 553 559 public static PlasticTheme createMyDefaultTheme() { 560 String defaultName = LookUtils.IS_LAF_WINDOWS_XP_ENABLED 561 ? "ExperienceBlue" 562 : (LookUtils.IS_OS_WINDOWS_MODERN ? "DesertBluer" : "SkyBlue"); 563 String userName = LookUtils.getSystemProperty(DEFAULT_THEME_KEY, ""); 565 boolean overridden = userName.length() > 0; 566 String themeName = overridden ? userName : defaultName; 567 PlasticTheme theme = createTheme(themeName); 568 PlasticTheme result = theme != null ? theme : new SkyBluerTahoma(); 569 570 if (overridden) { 572 String className = theme.getClass().getName().substring( 573 THEME_CLASSNAME_PREFIX.length()); 574 if (className.equals(userName)) { 575 LookUtils.log("I have successfully installed the '" + theme.getName() + "' theme."); 576 } else { 577 LookUtils.log("I could not install the Plastic theme '" + userName + "'."); 578 LookUtils.log("I have installed the '" + theme.getName() + "' theme, instead."); 579 } 580 } 581 return result; 582 583 } 584 585 586 592 public static List getInstalledThemes() { 593 if (null == installedThemes) 594 installDefaultThemes(); 595 596 Collections.sort(installedThemes, new Comparator () { 597 public int compare(Object o1, Object o2) { 598 MetalTheme theme1 = (MetalTheme ) o1; 599 MetalTheme theme2 = (MetalTheme ) o2; 600 return theme1.getName().compareTo(theme2.getName()); 601 } 602 }); 603 604 return installedThemes; 605 } 606 607 608 611 protected static void installDefaultThemes() { 612 installedThemes = new ArrayList (); 613 String [] themeNames = { 614 "BrownSugar", 615 "DarkStar", 616 "DesertBlue", 617 "DesertBluer", 618 "DesertGreen", 619 "DesertRed", 620 "DesertYellow", 621 "ExperienceBlue", 622 "ExperienceGreen", 623 "Silver", 624 "SkyBlue", 625 "SkyBluer", 626 "SkyBluerTahoma", 627 "SkyGreen", 628 "SkyKrupp", 629 "SkyPink", 630 "SkyRed", 631 "SkyYellow"}; 632 for (int i=themeNames.length - 1; i >= 0; i--) 633 installTheme(createTheme(themeNames[i])); 634 } 635 636 637 644 protected static PlasticTheme createTheme(String themeName) { 645 String className = THEME_CLASSNAME_PREFIX + themeName; 646 try { 647 Class cl = Class.forName(className); 648 return (PlasticTheme) (cl.newInstance()); 649 } catch (ClassNotFoundException e) { 650 } catch (IllegalAccessException e) { 652 } catch (InstantiationException e) { 654 } 656 LookUtils.log("Can't create theme " + className); 657 return null; 658 } 659 660 661 666 public static void installTheme(PlasticTheme theme) { 667 if (null == installedThemes) 668 installDefaultThemes(); 669 installedThemes.add(theme); 670 } 671 672 673 678 public static PlasticTheme getMyCurrentTheme() { 679 return myCurrentTheme; 680 } 681 682 683 688 public static void setMyCurrentTheme(PlasticTheme theme) { 689 myCurrentTheme = theme; 690 setCurrentTheme(theme); 691 } 692 693 694 696 public static BorderUIResource getInternalFrameBorder() { 697 return new BorderUIResource (PlasticBorders.getInternalFrameBorder()); 698 } 699 700 public static BorderUIResource getPaletteBorder() { 701 return new BorderUIResource (PlasticBorders.getPaletteBorder()); 702 } 703 704 705 706 708 709 public static ColorUIResource getPrimaryControlDarkShadow() { 710 return getMyCurrentTheme().getPrimaryControlDarkShadow(); 711 } 712 713 public static ColorUIResource getPrimaryControlHighlight() { 714 return getMyCurrentTheme().getPrimaryControlHighlight(); 715 } 716 717 public static ColorUIResource getPrimaryControlInfo() { 718 return getMyCurrentTheme().getPrimaryControlInfo(); 719 } 720 721 public static ColorUIResource getPrimaryControlShadow() { 722 return getMyCurrentTheme().getPrimaryControlShadow(); 723 } 724 725 public static ColorUIResource getPrimaryControl() { 726 return getMyCurrentTheme().getPrimaryControl(); 727 } 728 729 public static ColorUIResource getControlHighlight() { 730 return getMyCurrentTheme().getControlHighlight(); 731 } 732 733 public static ColorUIResource getControlDarkShadow() { 734 return getMyCurrentTheme().getControlDarkShadow(); 735 } 736 737 public static ColorUIResource getControl() { 738 return getMyCurrentTheme().getControl(); 739 } 740 741 public static ColorUIResource getFocusColor() { 742 return getMyCurrentTheme().getFocusColor(); 743 } 744 745 public static ColorUIResource getMenuItemBackground() { 746 return getMyCurrentTheme().getMenuItemBackground(); 747 } 748 749 public static ColorUIResource getMenuItemSelectedBackground() { 750 return getMyCurrentTheme().getMenuItemSelectedBackground(); 751 } 752 753 public static ColorUIResource getMenuItemSelectedForeground() { 754 return getMyCurrentTheme().getMenuItemSelectedForeground(); 755 } 756 757 public static ColorUIResource getWindowTitleBackground() { 758 return getMyCurrentTheme().getWindowTitleBackground(); 759 } 760 761 public static ColorUIResource getWindowTitleForeground() { 762 return getMyCurrentTheme().getWindowTitleForeground(); 763 } 764 765 public static ColorUIResource getWindowTitleInactiveBackground() { 766 return getMyCurrentTheme().getWindowTitleInactiveBackground(); 767 } 768 769 public static ColorUIResource getWindowTitleInactiveForeground() { 770 return getMyCurrentTheme().getWindowTitleInactiveForeground(); 771 } 772 773 public static ColorUIResource getSimpleInternalFrameForeground() { 774 return getMyCurrentTheme().getSimpleInternalFrameForeground(); 775 } 776 777 public static ColorUIResource getSimpleInternalFrameBackground() { 778 return getMyCurrentTheme().getSimpleInternalFrameBackground(); 779 } 780 781 public static ColorUIResource getTitleTextColor() { 782 return getMyCurrentTheme().getTitleTextColor(); 783 } 784 785 public static FontUIResource getTitleTextFont() { 786 return getMyCurrentTheme().getTitleTextFont(); 787 } 788 789 } | Popular Tags |