| 1 7 8 package javax.swing.plaf.metal; 9 10 import java.awt.*; 11 import javax.swing.plaf.*; 12 import javax.swing.*; 13 import javax.swing.plaf.basic.*; 14 import javax.swing.border.*; 15 import javax.swing.text.JTextComponent ; 16 import javax.swing.text.DefaultEditorKit ; 17 import java.util.*; 18 19 import java.awt.Font ; 20 import java.awt.Color ; 21 import java.awt.SystemColor ; 22 import java.awt.event.KeyEvent ; 23 import java.awt.event.InputEvent ; 24 import java.lang.reflect.*; 25 import java.net.URL ; 26 import java.io.Serializable ; 27 28 import java.security.AccessController ; 29 import java.security.PrivilegedAction ; 30 import sun.awt.AppContext; 31 import sun.security.action.GetPropertyAction; 32 import sun.swing.SwingLazyValue; 33 34 35 79 public class MetalLookAndFeel extends BasicLookAndFeel 80 { 81 82 private static boolean METAL_LOOK_AND_FEEL_INITED = false; 83 84 private static MetalTheme currentTheme; 85 private static boolean isOnlyOneContext = true; 86 private static AppContext cachedAppContext; 87 88 91 private static boolean checkedWindows; 92 95 private static boolean isWindows; 96 97 100 private static boolean checkedSystemFontSettings; 101 102 106 private static boolean useSystemFonts; 107 108 109 112 static boolean isWindows() { 113 if (!checkedWindows) { 114 String osName = (String )AccessController.doPrivileged( 115 new GetPropertyAction("os.name")); 116 if (osName != null && osName.indexOf("Windows") != -1) { 117 isWindows = true; 118 String systemFonts = (String )AccessController.doPrivileged( 119 new GetPropertyAction("swing.useSystemFontSettings")); 120 useSystemFonts = (systemFonts != null && 121 (Boolean.valueOf(systemFonts).booleanValue())); 122 } 123 checkedWindows = true; 124 } 125 return isWindows; 126 } 127 128 132 static boolean useSystemFonts() { 133 if (isWindows() && useSystemFonts) { 134 if (METAL_LOOK_AND_FEEL_INITED) { 135 Object value = UIManager.get( 136 "Application.useSystemFontSettings"); 137 138 return (value == null || Boolean.TRUE.equals(value)); 139 } 140 return true; 146 } 147 return false; 148 } 149 150 154 private static boolean useHighContrastTheme() { 155 if (isWindows() && useSystemFonts()) { 156 Boolean highContrast = (Boolean )Toolkit.getDefaultToolkit(). 157 getDesktopProperty("win.highContrast.on"); 158 159 return (highContrast == null) ? false : highContrast. 160 booleanValue(); 161 } 162 return false; 163 } 164 165 168 static boolean usingOcean() { 169 return (getCurrentTheme() instanceof OceanTheme ); 170 } 171 172 public String getName() { 173 return "Metal"; 174 } 175 176 public String getID() { 177 return "Metal"; 178 } 179 180 public String getDescription() { 181 return "The Java(tm) Look and Feel"; 182 } 183 184 185 public boolean isNativeLookAndFeel() { 186 return false; 187 } 188 189 190 public boolean isSupportedLookAndFeel() { 191 return true; 192 } 193 194 209 public boolean getSupportsWindowDecorations() { 210 return true; 211 } 212 213 227 protected void initClassDefaults(UIDefaults table) 228 { 229 super.initClassDefaults(table); 230 final String metalPackageName = "javax.swing.plaf.metal."; 231 232 Object [] uiDefaults = { 233 "ButtonUI", metalPackageName + "MetalButtonUI", 234 "CheckBoxUI", metalPackageName + "MetalCheckBoxUI", 235 "ComboBoxUI", metalPackageName + "MetalComboBoxUI", 236 "DesktopIconUI", metalPackageName + "MetalDesktopIconUI", 237 "FileChooserUI", metalPackageName + "MetalFileChooserUI", 238 "InternalFrameUI", metalPackageName + "MetalInternalFrameUI", 239 "LabelUI", metalPackageName + "MetalLabelUI", 240 "PopupMenuSeparatorUI", metalPackageName + "MetalPopupMenuSeparatorUI", 241 "ProgressBarUI", metalPackageName + "MetalProgressBarUI", 242 "RadioButtonUI", metalPackageName + "MetalRadioButtonUI", 243 "ScrollBarUI", metalPackageName + "MetalScrollBarUI", 244 "ScrollPaneUI", metalPackageName + "MetalScrollPaneUI", 245 "SeparatorUI", metalPackageName + "MetalSeparatorUI", 246 "SliderUI", metalPackageName + "MetalSliderUI", 247 "SplitPaneUI", metalPackageName + "MetalSplitPaneUI", 248 "TabbedPaneUI", metalPackageName + "MetalTabbedPaneUI", 249 "TextFieldUI", metalPackageName + "MetalTextFieldUI", 250 "ToggleButtonUI", metalPackageName + "MetalToggleButtonUI", 251 "ToolBarUI", metalPackageName + "MetalToolBarUI", 252 "ToolTipUI", metalPackageName + "MetalToolTipUI", 253 "TreeUI", metalPackageName + "MetalTreeUI", 254 "RootPaneUI", metalPackageName + "MetalRootPaneUI", 255 }; 256 257 table.putDefaults(uiDefaults); 258 } 259 260 265 protected void initSystemColorDefaults(UIDefaults table) 266 { 267 MetalTheme theme = getCurrentTheme(); 268 Color control = theme.getControl(); 269 Object [] systemColors = { 270 "desktop", theme.getDesktopColor(), 271 "activeCaption", theme.getWindowTitleBackground(), 272 "activeCaptionText", theme.getWindowTitleForeground(), 273 "activeCaptionBorder", theme.getPrimaryControlShadow(), 274 "inactiveCaption", theme.getWindowTitleInactiveBackground(), 275 "inactiveCaptionText", theme.getWindowTitleInactiveForeground(), 276 "inactiveCaptionBorder", theme.getControlShadow(), 277 "window", theme.getWindowBackground(), 278 "windowBorder", control, 279 "windowText", theme.getUserTextColor(), 280 "menu", theme.getMenuBackground(), 281 "menuText", theme.getMenuForeground(), 282 "text", theme.getWindowBackground(), 283 "textText", theme.getUserTextColor(), 284 "textHighlight", theme.getTextHighlightColor(), 285 "textHighlightText", theme.getHighlightedTextColor(), 286 "textInactiveText", theme.getInactiveSystemTextColor(), 287 "control", control, 288 "controlText", theme.getControlTextColor(), 289 "controlHighlight", theme.getControlHighlight(), 290 "controlLtHighlight", theme.getControlHighlight(), 291 "controlShadow", theme.getControlShadow(), 292 "controlDkShadow", theme.getControlDarkShadow(), 293 "scrollbar", control, 294 "info", theme.getPrimaryControl(), 295 "infoText", theme.getPrimaryControlInfo() 296 }; 297 298 table.putDefaults(systemColors); 299 } 300 301 305 private void initResourceBundle(UIDefaults table) { 306 table.addResourceBundle( "com.sun.swing.internal.plaf.metal.resources.metal" ); 307 } 308 309 protected void initComponentDefaults(UIDefaults table) { 310 super.initComponentDefaults( table ); 311 312 initResourceBundle(table); 313 314 Color acceleratorForeground = getAcceleratorForeground(); 315 Color acceleratorSelectedForeground = getAcceleratorSelectedForeground(); 316 Color control = getControl(); 317 Color controlHighlight = getControlHighlight(); 318 Color controlShadow = getControlShadow(); 319 Color controlDarkShadow = getControlDarkShadow(); 320 Color controlTextColor = getControlTextColor(); 321 Color focusColor = getFocusColor(); 322 Color inactiveControlTextColor = getInactiveControlTextColor(); 323 Color menuBackground = getMenuBackground(); 324 Color menuSelectedBackground = getMenuSelectedBackground(); 325 Color menuDisabledForeground = getMenuDisabledForeground(); 326 Color menuSelectedForeground = getMenuSelectedForeground(); 327 Color primaryControl = getPrimaryControl(); 328 Color primaryControlDarkShadow = getPrimaryControlDarkShadow(); 329 Color primaryControlShadow = getPrimaryControlShadow(); 330 Color systemTextColor = getSystemTextColor(); 331 332 Insets zeroInsets = new InsetsUIResource(0, 0, 0, 0); 333 334 Integer zero = new Integer (0); 335 336 Object textFieldBorder = 337 new SwingLazyValue("javax.swing.plaf.metal.MetalBorders", 338 "getTextFieldBorder"); 339 340 Object dialogBorder = new MetalLazyValue( 341 "javax.swing.plaf.metal.MetalBorders$DialogBorder"); 342 343 Object questionDialogBorder = new MetalLazyValue( 344 "javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder"); 345 346 Object fieldInputMap = new UIDefaults.LazyInputMap(new Object [] { 347 "ctrl C", DefaultEditorKit.copyAction, 348 "ctrl V", DefaultEditorKit.pasteAction, 349 "ctrl X", DefaultEditorKit.cutAction, 350 "COPY", DefaultEditorKit.copyAction, 351 "PASTE", DefaultEditorKit.pasteAction, 352 "CUT", DefaultEditorKit.cutAction, 353 "shift LEFT", DefaultEditorKit.selectionBackwardAction, 354 "shift KP_LEFT", DefaultEditorKit.selectionBackwardAction, 355 "shift RIGHT", DefaultEditorKit.selectionForwardAction, 356 "shift KP_RIGHT", DefaultEditorKit.selectionForwardAction, 357 "ctrl LEFT", DefaultEditorKit.previousWordAction, 358 "ctrl KP_LEFT", DefaultEditorKit.previousWordAction, 359 "ctrl RIGHT", DefaultEditorKit.nextWordAction, 360 "ctrl KP_RIGHT", DefaultEditorKit.nextWordAction, 361 "ctrl shift LEFT", DefaultEditorKit.selectionPreviousWordAction, 362 "ctrl shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction, 363 "ctrl shift RIGHT", DefaultEditorKit.selectionNextWordAction, 364 "ctrl shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction, 365 "ctrl A", DefaultEditorKit.selectAllAction, 366 "HOME", DefaultEditorKit.beginLineAction, 367 "END", DefaultEditorKit.endLineAction, 368 "shift HOME", DefaultEditorKit.selectionBeginLineAction, 369 "shift END", DefaultEditorKit.selectionEndLineAction, 370 "BACK_SPACE", DefaultEditorKit.deletePrevCharAction, 371 "ctrl H", DefaultEditorKit.deletePrevCharAction, 372 "DELETE", DefaultEditorKit.deleteNextCharAction, 373 "RIGHT", DefaultEditorKit.forwardAction, 374 "LEFT", DefaultEditorKit.backwardAction, 375 "KP_RIGHT", DefaultEditorKit.forwardAction, 376 "KP_LEFT", DefaultEditorKit.backwardAction, 377 "ENTER", JTextField.notifyAction, 378 "ctrl BACK_SLASH", "unselect", 379 "control shift O", "toggle-componentOrientation" 380 }); 381 382 Object passwordInputMap = new UIDefaults.LazyInputMap(new Object [] { 383 "ctrl C", DefaultEditorKit.copyAction, 384 "ctrl V", DefaultEditorKit.pasteAction, 385 "ctrl X", DefaultEditorKit.cutAction, 386 "COPY", DefaultEditorKit.copyAction, 387 "PASTE", DefaultEditorKit.pasteAction, 388 "CUT", DefaultEditorKit.cutAction, 389 "shift LEFT", DefaultEditorKit.selectionBackwardAction, 390 "shift KP_LEFT", DefaultEditorKit.selectionBackwardAction, 391 "shift RIGHT", DefaultEditorKit.selectionForwardAction, 392 "shift KP_RIGHT", DefaultEditorKit.selectionForwardAction, 393 "ctrl LEFT", DefaultEditorKit.beginLineAction, 394 "ctrl KP_LEFT", DefaultEditorKit.beginLineAction, 395 "ctrl RIGHT", DefaultEditorKit.endLineAction, 396 "ctrl KP_RIGHT", DefaultEditorKit.endLineAction, 397 "ctrl shift LEFT", DefaultEditorKit.selectionBeginLineAction, 398 "ctrl shift KP_LEFT", DefaultEditorKit.selectionBeginLineAction, 399 "ctrl shift RIGHT", DefaultEditorKit.selectionEndLineAction, 400 "ctrl shift KP_RIGHT", DefaultEditorKit.selectionEndLineAction, 401 "ctrl A", DefaultEditorKit.selectAllAction, 402 "HOME", DefaultEditorKit.beginLineAction, 403 "END", DefaultEditorKit.endLineAction, 404 "shift HOME", DefaultEditorKit.selectionBeginLineAction, 405 "shift END", DefaultEditorKit.selectionEndLineAction, 406 "BACK_SPACE", DefaultEditorKit.deletePrevCharAction, 407 "ctrl H", DefaultEditorKit.deletePrevCharAction, 408 "DELETE", DefaultEditorKit.deleteNextCharAction, 409 "RIGHT", DefaultEditorKit.forwardAction, 410 "LEFT", DefaultEditorKit.backwardAction, 411 "KP_RIGHT", DefaultEditorKit.forwardAction, 412 "KP_LEFT", DefaultEditorKit.backwardAction, 413 "ENTER", JTextField.notifyAction, 414 "ctrl BACK_SLASH", "unselect", 415 "control shift O", "toggle-componentOrientation" 416 }); 417 418 Object multilineInputMap = new UIDefaults.LazyInputMap(new Object [] { 419 "ctrl C", DefaultEditorKit.copyAction, 420 "ctrl V", DefaultEditorKit.pasteAction, 421 "ctrl X", DefaultEditorKit.cutAction, 422 "COPY", DefaultEditorKit.copyAction, 423 "PASTE", DefaultEditorKit.pasteAction, 424 "CUT", DefaultEditorKit.cutAction, 425 "shift LEFT", DefaultEditorKit.selectionBackwardAction, 426 "shift KP_LEFT", DefaultEditorKit.selectionBackwardAction, 427 "shift RIGHT", DefaultEditorKit.selectionForwardAction, 428 "shift KP_RIGHT", DefaultEditorKit.selectionForwardAction, 429 "ctrl LEFT", DefaultEditorKit.previousWordAction, 430 "ctrl KP_LEFT", DefaultEditorKit.previousWordAction, 431 "ctrl RIGHT", DefaultEditorKit.nextWordAction, 432 "ctrl KP_RIGHT", DefaultEditorKit.nextWordAction, 433 "ctrl shift LEFT", DefaultEditorKit.selectionPreviousWordAction, 434 "ctrl shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction, 435 "ctrl shift RIGHT", DefaultEditorKit.selectionNextWordAction, 436 "ctrl shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction, 437 "ctrl A", DefaultEditorKit.selectAllAction, 438 "HOME", DefaultEditorKit.beginLineAction, 439 "END", DefaultEditorKit.endLineAction, 440 "shift HOME", DefaultEditorKit.selectionBeginLineAction, 441 "shift END", DefaultEditorKit.selectionEndLineAction, 442 443 "UP", DefaultEditorKit.upAction, 444 "KP_UP", DefaultEditorKit.upAction, 445 "DOWN", DefaultEditorKit.downAction, 446 "KP_DOWN", DefaultEditorKit.downAction, 447 "PAGE_UP", DefaultEditorKit.pageUpAction, 448 "PAGE_DOWN", DefaultEditorKit.pageDownAction, 449 "shift PAGE_UP", "selection-page-up", 450 "shift PAGE_DOWN", "selection-page-down", 451 "ctrl shift PAGE_UP", "selection-page-left", 452 "ctrl shift PAGE_DOWN", "selection-page-right", 453 "shift UP", DefaultEditorKit.selectionUpAction, 454 "shift KP_UP", DefaultEditorKit.selectionUpAction, 455 "shift DOWN", DefaultEditorKit.selectionDownAction, 456 "shift KP_DOWN", DefaultEditorKit.selectionDownAction, 457 "ENTER", DefaultEditorKit.insertBreakAction, 458 "BACK_SPACE", DefaultEditorKit.deletePrevCharAction, 459 "ctrl H", DefaultEditorKit.deletePrevCharAction, 460 "DELETE", DefaultEditorKit.deleteNextCharAction, 461 "RIGHT", DefaultEditorKit.forwardAction, 462 "LEFT", DefaultEditorKit.backwardAction, 463 "KP_RIGHT", DefaultEditorKit.forwardAction, 464 "KP_LEFT", DefaultEditorKit.backwardAction, 465 "TAB", DefaultEditorKit.insertTabAction, 466 "ctrl BACK_SLASH", "unselect", 467 "ctrl HOME", DefaultEditorKit.beginAction, 468 "ctrl END", DefaultEditorKit.endAction, 469 "ctrl shift HOME", DefaultEditorKit.selectionBeginAction, 470 "ctrl shift END", DefaultEditorKit.selectionEndAction, 471 "ctrl T", "next-link-action", 472 "ctrl shift T", "previous-link-action", 473 "ctrl SPACE", "activate-link-action", 474 "control shift O", "toggle-componentOrientation" 475 }); 476 477 Object scrollPaneBorder = new SwingLazyValue("javax.swing.plaf.metal.MetalBorders$ScrollPaneBorder"); 478 Object buttonBorder = 479 new SwingLazyValue("javax.swing.plaf.metal.MetalBorders", 480 "getButtonBorder"); 481 482 Object toggleButtonBorder = 483 new SwingLazyValue("javax.swing.plaf.metal.MetalBorders", 484 "getToggleButtonBorder"); 485 486 Object titledBorderBorder = 487 new SwingLazyValue( 488 "javax.swing.plaf.BorderUIResource$LineBorderUIResource", 489 new Object [] {controlShadow}); 490 491 Object desktopIconBorder = 492 new SwingLazyValue( 493 "javax.swing.plaf.metal.MetalBorders", 494 "getDesktopIconBorder"); 495 496 Object menuBarBorder = 497 new SwingLazyValue( 498 "javax.swing.plaf.metal.MetalBorders$MenuBarBorder"); 499 500 Object popupMenuBorder = 501 new SwingLazyValue( 502 "javax.swing.plaf.metal.MetalBorders$PopupMenuBorder"); 503 Object menuItemBorder = 504 new SwingLazyValue( 505 "javax.swing.plaf.metal.MetalBorders$MenuItemBorder"); 506 507 Object menuItemAcceleratorDelimiter = new String ("-"); 508 Object toolBarBorder = new SwingLazyValue("javax.swing.plaf.metal.MetalBorders$ToolBarBorder"); 509 510 Object progressBarBorder = new SwingLazyValue( 511 "javax.swing.plaf.BorderUIResource$LineBorderUIResource", 512 new Object [] {controlDarkShadow, new Integer (1)}); 513 514 Object toolTipBorder = new SwingLazyValue( 515 "javax.swing.plaf.BorderUIResource$LineBorderUIResource", 516 new Object [] {primaryControlDarkShadow}); 517 518 Object toolTipBorderInactive = new SwingLazyValue( 519 "javax.swing.plaf.BorderUIResource$LineBorderUIResource", 520 new Object [] {controlDarkShadow}); 521 522 Object focusCellHighlightBorder = new SwingLazyValue( 523 "javax.swing.plaf.BorderUIResource$LineBorderUIResource", 524 new Object [] {focusColor}); 525 526 Object tabbedPaneTabAreaInsets = new InsetsUIResource(4, 2, 0, 6); 527 528 Object tabbedPaneTabInsets = new InsetsUIResource(0, 9, 1, 9); 529 530 final Object [] internalFrameIconArgs = new Object [1]; 531 internalFrameIconArgs[0] = new Integer (16); 532 533 Object [] defaultCueList = new Object [] { 534 "OptionPane.errorSound", 535 "OptionPane.informationSound", 536 "OptionPane.questionSound", 537 "OptionPane.warningSound" }; 538 539 MetalTheme theme = getCurrentTheme(); 540 Object menuTextValue = new FontActiveValue(theme, 541 MetalTheme.MENU_TEXT_FONT); 542 Object controlTextValue = new FontActiveValue(theme, 543 MetalTheme.CONTROL_TEXT_FONT); 544 Object userTextValue = new FontActiveValue(theme, 545 MetalTheme.USER_TEXT_FONT); 546 Object windowTitleValue = new FontActiveValue(theme, 547 MetalTheme.WINDOW_TITLE_FONT); 548 Object subTextValue = new FontActiveValue(theme, 549 MetalTheme.SUB_TEXT_FONT); 550 Object systemTextValue = new FontActiveValue(theme, 551 MetalTheme.SYSTEM_TEXT_FONT); 552 556 Object [] defaults = { 557 "AuditoryCues.defaultCueList", defaultCueList, 559 "AuditoryCues.playList", null, 563 "TextField.border", textFieldBorder, 565 "TextField.font", userTextValue, 566 567 "PasswordField.border", textFieldBorder, 568 "PasswordField.font", userTextValue, 571 572 "TextArea.font", userTextValue, 575 576 "TextPane.background", table.get("window"), 577 "TextPane.font", userTextValue, 578 579 "EditorPane.background", table.get("window"), 580 "EditorPane.font", userTextValue, 581 582 "TextField.focusInputMap", fieldInputMap, 583 "PasswordField.focusInputMap", passwordInputMap, 584 "TextArea.focusInputMap", multilineInputMap, 585 "TextPane.focusInputMap", multilineInputMap, 586 "EditorPane.focusInputMap", multilineInputMap, 587 588 "FormattedTextField.border", textFieldBorder, 590 "FormattedTextField.font", userTextValue, 591 "FormattedTextField.focusInputMap", 592 new UIDefaults.LazyInputMap(new Object [] { 593 "ctrl C", DefaultEditorKit.copyAction, 594 "ctrl V", DefaultEditorKit.pasteAction, 595 "ctrl X", DefaultEditorKit.cutAction, 596 "COPY", DefaultEditorKit.copyAction, 597 "PASTE", DefaultEditorKit.pasteAction, 598 "CUT", DefaultEditorKit.cutAction, 599 "shift LEFT", DefaultEditorKit.selectionBackwardAction, 600 "shift KP_LEFT", DefaultEditorKit.selectionBackwardAction, 601 "shift RIGHT", DefaultEditorKit.selectionForwardAction, 602 "shift KP_RIGHT", DefaultEditorKit.selectionForwardAction, 603 "ctrl LEFT", DefaultEditorKit.previousWordAction, 604 "ctrl KP_LEFT", DefaultEditorKit.previousWordAction, 605 "ctrl RIGHT", DefaultEditorKit.nextWordAction, 606 "ctrl KP_RIGHT", DefaultEditorKit.nextWordAction, 607 "ctrl shift LEFT", DefaultEditorKit.selectionPreviousWordAction, 608 "ctrl shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction, 609 "ctrl shift RIGHT", DefaultEditorKit.selectionNextWordAction, 610 "ctrl shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction, 611 "ctrl A", DefaultEditorKit.selectAllAction, 612 "HOME", DefaultEditorKit.beginLineAction, 613 "END", DefaultEditorKit.endLineAction, 614 "shift HOME", DefaultEditorKit.selectionBeginLineAction, 615 "shift END", DefaultEditorKit.selectionEndLineAction, 616 "BACK_SPACE", DefaultEditorKit.deletePrevCharAction, 617 "ctrl H", DefaultEditorKit.deletePrevCharAction, 618 "DELETE", DefaultEditorKit.deleteNextCharAction, 619 "RIGHT", DefaultEditorKit.forwardAction, 620 "LEFT", DefaultEditorKit.backwardAction, 621 "KP_RIGHT", DefaultEditorKit.forwardAction, 622 "KP_LEFT", DefaultEditorKit.backwardAction, 623 "ENTER", JTextField.notifyAction, 624 "ctrl BACK_SLASH", "unselect", 625 "control shift O", "toggle-componentOrientation", 626 "ESCAPE", "reset-field-edit", 627 "UP", "increment", 628 "KP_UP", "increment", 629 "DOWN", "decrement", 630 "KP_DOWN", "decrement", 631 }), 632 633 634 "Button.defaultButtonFollowsFocus", Boolean.FALSE, 636 "Button.disabledText", inactiveControlTextColor, 637 "Button.select", controlShadow, 638 "Button.border", buttonBorder, 639 "Button.font", controlTextValue, 640 "Button.focus", focusColor, 641 "Button.focusInputMap", new UIDefaults.LazyInputMap(new Object [] { 642 "SPACE", "pressed", 643 "released SPACE", "released" 644 }), 645 646 "CheckBox.disabledText", inactiveControlTextColor, 647 "Checkbox.select", controlShadow, 648 "CheckBox.font", controlTextValue, 649 "CheckBox.focus", focusColor, 650 "CheckBox.icon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getCheckBoxIcon"), 651 "CheckBox.focusInputMap", 652 new UIDefaults.LazyInputMap(new Object [] { 653 "SPACE", "pressed", 654 "released SPACE", "released" 655 }), 656 657 "RadioButton.disabledText", inactiveControlTextColor, 658 "RadioButton.select", controlShadow, 659 "RadioButton.icon", new SwingLazyValue("javax.swing.plaf.metal.MetalIconFactory", "getRadioButtonIcon"), 660 "RadioButton.font", controlTextValue, 661 "RadioButton.focus", focusColor, 662 "RadioButton.focusInputMap", 663 new UIDefaults.LazyInputMap(new Object [] { 664 "SPACE", "pressed", 665 "released SPACE", "released" 666 }), 667 668 "ToggleButton.select", controlShadow, 669
|