Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/solaris/classes/sun/awt/X11/XAWTLookAndFeel.java
32288 views
/*1* Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425package sun.awt.X11;2627import java.awt.Color;28import java.awt.Font;29import java.awt.SystemColor;3031import javax.swing.*;32import javax.swing.plaf.*;33import javax.swing.border.*;34import javax.swing.text.DefaultEditorKit;3536import javax.swing.plaf.basic.BasicBorders;37import com.sun.java.swing.plaf.motif.*;38import sun.awt.X11.XComponentPeer;3940class XAWTLookAndFeel extends MotifLookAndFeel {4142/**43* Load the SystemColors into the defaults table. The keys44* for SystemColor defaults are the same as the names of45* the public fields in SystemColor. If the table is being46* created on a native Motif platform we use the SystemColor47* values, otherwise we create color objects whose values match48* the default CDE/Motif colors.49*/50protected void initSystemColorDefaults(UIDefaults table) {51String[] defaultSystemColors = {52"desktop", "#005C5C", /* Color of the desktop background */53"activeCaption", "#000080", /* Color for captions (title bars) when they are active. */54"activeCaptionText", "#FFFFFF", /* Text color for text in captions (title bars). */55"activeCaptionBorder", "#B24D7A", /* Border color for caption (title bar) window borders. */56"inactiveCaption", "#AEB2C3", /* Color for captions (title bars) when not active. */57"inactiveCaptionText", "#000000", /* Text color for text in inactive captions (title bars). */58"inactiveCaptionBorder", "#AEB2C3", /* Border color for inactive caption (title bar) window borders. */59"window", "#AEB2C3", /* Default color for the interior of windows */60"windowBorder", "#AEB2C3", /* ??? */61"windowText", "#000000", /* ??? */62"menu", "#AEB2C3", /* ??? */63"menuText", "#000000", /* ??? */64"text", "#FFF7E9", /* Text background color */65"textText", "#000000", /* Text foreground color */66"textHighlight", "#000000", /* Text background color when selected */67"textHighlightText", "#FFF7E9", /* Text color when selected */68"textInactiveText", "#808080", /* Text color when disabled */69"control", "#AEB2C3", /* Default color for controls (buttons, sliders, etc) */70"controlText", "#000000", /* Default color for text in controls */71"controlHighlight", "#DCDEE5", /* Highlight color for controls */72"controlLtHighlight", "#DCDEE5", /* Light highlight color for controls */73"controlShadow", "#63656F", /* Shadow color for controls */74"controlLightShadow", "#9397A5", /* Shadow color for controls */75"controlDkShadow", "#000000", /* Dark shadow color for controls */76"scrollbar", "#AEB2C3", /* Scrollbar ??? color. PENDING(jeff) foreground? background? ?*/77"info", "#FFF7E9", /* ??? */78"infoText", "#000000" /* ??? */79};8081loadSystemColors(table, defaultSystemColors, true);82}8384protected void initComponentDefaults(UIDefaults table) {85super.initComponentDefaults(table);8687FontUIResource dialogPlain12 = new FontUIResource(Font.DIALOG,88Font.PLAIN, 12);89FontUIResource sansSerifPlain12 = new FontUIResource(Font.SANS_SERIF,90Font.PLAIN, 12);91FontUIResource monospacedPlain12 = new FontUIResource(Font.MONOSPACED,92Font.PLAIN, 12);93ColorUIResource red = new ColorUIResource(Color.red);94ColorUIResource black = new ColorUIResource(Color.black);95ColorUIResource white = new ColorUIResource(Color.white);96ColorUIResource lightGray = new ColorUIResource(Color.lightGray);97ColorUIResource controlDarker = new ColorUIResource(SystemColor.controlDkShadow);9899Color back = table.getColor("control");100Color colors [] = XComponentPeer.getSystemColors();101Color scrollBarBackground = colors[XComponentPeer.BACKGROUND_COLOR];102Color trackColor = new Color(MotifColorUtilities.calculateSelectFromBackground(scrollBarBackground.getRed(), scrollBarBackground.getGreen(), scrollBarBackground.getBlue()));103Border loweredBevelBorder = new MotifBorders.BevelBorder(false,104table.getColor("controlShadow"),105table.getColor("controlLtHighlight"));106107Border raisedBevelBorder = new MotifBorders.BevelBorder(true,108table.getColor("controlShadow"),109table.getColor("controlLtHighlight"));110111Border marginBorder = new BasicBorders.MarginBorder();112113Border focusBorder = new MotifBorders.FocusBorder(114table.getColor("control"),115table.getColor("activeCaptionBorder"));116117118Border focusBevelBorder = new BorderUIResource.CompoundBorderUIResource(119focusBorder,120loweredBevelBorder);121122Border textFieldBorder = new BorderUIResource.CompoundBorderUIResource(123focusBevelBorder,124marginBorder);125126// *** Text127128Object fieldInputMap = new UIDefaults.LazyInputMap(new Object[] {129"COPY", DefaultEditorKit.copyAction,130"PASTE", DefaultEditorKit.pasteAction,131"CUT", DefaultEditorKit.cutAction,132"control C", DefaultEditorKit.copyAction,133"control V", DefaultEditorKit.pasteAction,134"control X", DefaultEditorKit.cutAction,135"control INSERT", DefaultEditorKit.copyAction,136"shift INSERT", DefaultEditorKit.pasteAction,137"shift DELETE", DefaultEditorKit.cutAction,138"control F", DefaultEditorKit.forwardAction,139"control B", DefaultEditorKit.backwardAction,140"control D", DefaultEditorKit.deleteNextCharAction,141"typed \010", DefaultEditorKit.deletePrevCharAction,142"DELETE", DefaultEditorKit.deleteNextCharAction,143"RIGHT", DefaultEditorKit.forwardAction,144"LEFT", DefaultEditorKit.backwardAction,145"KP_RIGHT", DefaultEditorKit.forwardAction,146"KP_LEFT", DefaultEditorKit.backwardAction,147"shift LEFT", DefaultEditorKit.selectionBackwardAction,148"shift RIGHT", DefaultEditorKit.selectionForwardAction,149"control LEFT", DefaultEditorKit.previousWordAction,150"control RIGHT", DefaultEditorKit.nextWordAction,151"control shift LEFT", DefaultEditorKit.selectionPreviousWordAction,152"control shift RIGHT", DefaultEditorKit.selectionNextWordAction,153"control SLASH", DefaultEditorKit.selectAllAction,154"HOME", DefaultEditorKit.beginLineAction,155"END", DefaultEditorKit.endLineAction,156"shift HOME", DefaultEditorKit.selectionBeginLineAction,157"shift END", DefaultEditorKit.selectionEndLineAction,158"control BACK_SLASH", "unselect",159"ENTER", JTextField.notifyAction,160"control shift O", "toggle-componentOrientation"161});162163Object passwordInputMap = new UIDefaults.LazyInputMap(new Object[] {164"COPY", DefaultEditorKit.copyAction,165"PASTE", DefaultEditorKit.pasteAction,166"CUT", DefaultEditorKit.cutAction,167"control C", DefaultEditorKit.copyAction,168"control V", DefaultEditorKit.pasteAction,169"control X", DefaultEditorKit.cutAction,170"control INSERT", DefaultEditorKit.copyAction,171"shift INSERT", DefaultEditorKit.pasteAction,172"shift DELETE", DefaultEditorKit.cutAction,173"control F", DefaultEditorKit.forwardAction,174"control B", DefaultEditorKit.backwardAction,175"control D", DefaultEditorKit.deleteNextCharAction,176"typed \010", DefaultEditorKit.deletePrevCharAction,177"DELETE", DefaultEditorKit.deleteNextCharAction,178"RIGHT", DefaultEditorKit.forwardAction,179"LEFT", DefaultEditorKit.backwardAction,180"KP_RIGHT", DefaultEditorKit.forwardAction,181"KP_LEFT", DefaultEditorKit.backwardAction,182"shift LEFT", DefaultEditorKit.selectionBackwardAction,183"shift RIGHT", DefaultEditorKit.selectionForwardAction,184"control LEFT", DefaultEditorKit.beginLineAction,185"control RIGHT", DefaultEditorKit.endLineAction,186"control shift LEFT", DefaultEditorKit.selectionBeginLineAction,187"control shift RIGHT", DefaultEditorKit.selectionEndLineAction,188"control SLASH", DefaultEditorKit.selectAllAction,189"HOME", DefaultEditorKit.beginLineAction,190"END", DefaultEditorKit.endLineAction,191"shift HOME", DefaultEditorKit.selectionBeginLineAction,192"shift END", DefaultEditorKit.selectionEndLineAction,193"control BACK_SLASH", "unselect",194"ENTER", JTextField.notifyAction,195"control shift O", "toggle-componentOrientation"196});197198Object multilineInputMap = new UIDefaults.LazyInputMap(new Object[] {199"COPY", DefaultEditorKit.copyAction,200"PASTE", DefaultEditorKit.pasteAction,201"CUT", DefaultEditorKit.cutAction,202"control C", DefaultEditorKit.copyAction,203"control V", DefaultEditorKit.pasteAction,204"control X", DefaultEditorKit.cutAction,205"control INSERT", DefaultEditorKit.copyAction,206"shift INSERT", DefaultEditorKit.pasteAction,207"shift DELETE", DefaultEditorKit.cutAction,208"control F", DefaultEditorKit.forwardAction,209"control B", DefaultEditorKit.backwardAction,210"control D", DefaultEditorKit.deleteNextCharAction,211"typed \010", DefaultEditorKit.deletePrevCharAction,212"DELETE", DefaultEditorKit.deleteNextCharAction,213"RIGHT", DefaultEditorKit.forwardAction,214"LEFT", DefaultEditorKit.backwardAction,215"KP_RIGHT", DefaultEditorKit.forwardAction,216"KP_LEFT", DefaultEditorKit.backwardAction,217"shift LEFT", DefaultEditorKit.selectionBackwardAction,218"shift RIGHT", DefaultEditorKit.selectionForwardAction,219"control LEFT", DefaultEditorKit.previousWordAction,220"control RIGHT", DefaultEditorKit.nextWordAction,221"control shift LEFT", DefaultEditorKit.selectionPreviousWordAction,222"control shift RIGHT", DefaultEditorKit.selectionNextWordAction,223"control SLASH", DefaultEditorKit.selectAllAction,224"HOME", DefaultEditorKit.beginLineAction,225"END", DefaultEditorKit.endLineAction,226"shift HOME", DefaultEditorKit.selectionBeginLineAction,227"shift END", DefaultEditorKit.selectionEndLineAction,228229"control N", DefaultEditorKit.downAction,230"control P", DefaultEditorKit.upAction,231"UP", DefaultEditorKit.upAction,232"DOWN", DefaultEditorKit.downAction,233"KP_UP", DefaultEditorKit.upAction,234"KP_DOWN", DefaultEditorKit.downAction,235"PAGE_UP", DefaultEditorKit.pageUpAction,236"PAGE_DOWN", DefaultEditorKit.pageDownAction,237"shift PAGE_UP", "selection-page-up",238"shift PAGE_DOWN", "selection-page-down",239"ctrl shift PAGE_UP", "selection-page-left",240"ctrl shift PAGE_DOWN", "selection-page-right",241"shift UP", DefaultEditorKit.selectionUpAction,242"shift DOWN", DefaultEditorKit.selectionDownAction,243"shift KP_UP", DefaultEditorKit.selectionUpAction,244"shift KP_DOWN", DefaultEditorKit.selectionDownAction,245"ENTER", DefaultEditorKit.insertBreakAction,246"TAB", DefaultEditorKit.insertTabAction,247"control BACK_SLASH", "unselect",248"control HOME", DefaultEditorKit.beginAction,249"control END", DefaultEditorKit.endAction,250"control shift HOME", DefaultEditorKit.selectionBeginAction,251"control shift END", DefaultEditorKit.selectionEndAction,252"control T", "next-link-action",253"control shift T", "previous-link-action",254"control SPACE", "activate-link-action",255"control shift O", "toggle-componentOrientation"256});257258Object sliderFocusInsets = new InsetsUIResource( 0, 0, 0, 0 );259260Object[] defaults = {261262"ScrollBar.background", scrollBarBackground,263"ScrollBar.foreground", table.get("control"),264"ScrollBar.track", trackColor,265"ScrollBar.trackHighlight", trackColor,266"ScrollBar.thumb", scrollBarBackground,267"ScrollBar.thumbHighlight", table.get("controlHighlight") ,268"ScrollBar.thumbDarkShadow", table.get("controlDkShadow"),269"ScrollBar.thumbShadow", table.get("controlShadow"),270"ScrollBar.border", loweredBevelBorder,271"ScrollBar.allowsAbsolutePositioning", Boolean.TRUE,272"ScrollBar.defaultWidth", Integer.valueOf(17),273"ScrollBar.focusInputMap",274new UIDefaults.LazyInputMap(new Object[] {275"RIGHT", "positiveUnitIncrement",276"KP_RIGHT", "positiveUnitIncrement",277"DOWN", "positiveUnitIncrement",278"KP_DOWN", "positiveUnitIncrement",279"PAGE_DOWN", "positiveBlockIncrement",280"ctrl PAGE_DOWN", "positiveBlockIncrement",281"LEFT", "negativeUnitIncrement",282"KP_LEFT", "negativeUnitIncrement",283"UP", "negativeUnitIncrement",284"KP_UP", "negativeUnitIncrement",285"PAGE_UP", "negativeBlockIncrement",286"ctrl PAGE_UP", "negativeBlockIncrement",287"HOME", "minScroll",288"END", "maxScroll"289}),290291"ScrollPane.font", dialogPlain12,292"ScrollPane.background", scrollBarBackground,293"ScrollPane.foreground", table.get("controlText"),294"ScrollPane.border", null,295"ScrollPane.viewportBorder", loweredBevelBorder,296"ScrollPane.ancestorInputMap",297new UIDefaults.LazyInputMap(new Object[] {298"RIGHT", "unitScrollRight",299"KP_RIGHT", "unitScrollRight",300"DOWN", "unitScrollDown",301"KP_DOWN", "unitScrollDown",302"LEFT", "unitScrollLeft",303"KP_LEFT", "unitScrollLeft",304"UP", "unitScrollUp",305"KP_UP", "unitScrollUp",306"PAGE_UP", "scrollUp",307"PAGE_DOWN", "scrollDown",308"ctrl PAGE_UP", "scrollLeft",309"ctrl PAGE_DOWN", "scrollRight",310"ctrl HOME", "scrollHome",311"ctrl END", "scrollEnd"312}),313314"FormattedTextField.focusInputMap",315new UIDefaults.LazyInputMap(new Object[] {316"ctrl C", DefaultEditorKit.copyAction,317"ctrl V", DefaultEditorKit.pasteAction,318"ctrl X", DefaultEditorKit.cutAction,319"COPY", DefaultEditorKit.copyAction,320"PASTE", DefaultEditorKit.pasteAction,321"CUT", DefaultEditorKit.cutAction,322"shift LEFT", DefaultEditorKit.selectionBackwardAction,323"shift KP_LEFT", DefaultEditorKit.selectionBackwardAction,324"shift RIGHT", DefaultEditorKit.selectionForwardAction,325"shift KP_RIGHT", DefaultEditorKit.selectionForwardAction,326"ctrl LEFT", DefaultEditorKit.previousWordAction,327"ctrl KP_LEFT", DefaultEditorKit.previousWordAction,328"ctrl RIGHT", DefaultEditorKit.nextWordAction,329"ctrl KP_RIGHT", DefaultEditorKit.nextWordAction,330"ctrl shift LEFT", DefaultEditorKit.selectionPreviousWordAction,331"ctrl shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction,332"ctrl shift RIGHT", DefaultEditorKit.selectionNextWordAction,333"ctrl shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction,334"ctrl A", DefaultEditorKit.selectAllAction,335"HOME", DefaultEditorKit.beginLineAction,336"END", DefaultEditorKit.endLineAction,337"shift HOME", DefaultEditorKit.selectionBeginLineAction,338"shift END", DefaultEditorKit.selectionEndLineAction,339"typed \010", DefaultEditorKit.deletePrevCharAction,340"DELETE", DefaultEditorKit.deleteNextCharAction,341"RIGHT", DefaultEditorKit.forwardAction,342"LEFT", DefaultEditorKit.backwardAction,343"KP_RIGHT", DefaultEditorKit.forwardAction,344"KP_LEFT", DefaultEditorKit.backwardAction,345"ENTER", JTextField.notifyAction,346"ctrl BACK_SLASH", "unselect",347"control shift O", "toggle-componentOrientation",348"ESCAPE", "reset-field-edit",349"UP", "increment",350"KP_UP", "increment",351"DOWN", "decrement",352"KP_DOWN", "decrement",353}),354355"TextField.caretForeground", black,356"TextField.caretBlinkRate", Integer.valueOf(500),357"TextField.inactiveForeground", table.get("textInactiveText"),358"TextField.selectionBackground", table.get("textHighlight"),359"TextField.selectionForeground", table.get("textHighlightText"),360"TextField.background", table.get("window"),361"TextField.foreground", table.get("textText"),362"TextField.font", sansSerifPlain12,363"TextField.border", textFieldBorder,364"TextField.focusInputMap", fieldInputMap,365366"PasswordField.caretForeground", black,367"PasswordField.caretBlinkRate", Integer.valueOf(500),368"PasswordField.inactiveForeground", table.get("textInactiveText"),369"PasswordField.selectionBackground", table.get("textHighlight"),370"PasswordField.selectionForeground", table.get("textHighlightText"),371"PasswordField.background", table.get("window"),372"PasswordField.foreground", table.get("textText"),373"PasswordField.font", sansSerifPlain12,374"PasswordField.border", textFieldBorder,375"PasswordField.focusInputMap", passwordInputMap,376377"TextArea.caretForeground", black,378"TextArea.caretBlinkRate", Integer.valueOf(500),379"TextArea.inactiveForeground", table.get("textInactiveText"),380"TextArea.selectionBackground", table.get("textHighlight"),381"TextArea.selectionForeground", table.get("textHighlightText"),382"TextArea.background", table.get("window"),383"TextArea.foreground", table.get("textText"),384"TextArea.font", monospacedPlain12,385"TextArea.border", marginBorder,386"TextArea.focusInputMap", multilineInputMap387};388389table.putDefaults(defaults);390}391}392393394