X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=site%2Fj2s%2Fswingjs%2Fplaf%2FHTML5LookAndFeel.java;h=fd87de8a4be5f3cb27093431315abb8c8492b7cc;hp=b4fb2b384ea8ab5a6aafca58e9f51a0bed2abf2f;hb=7301a2415adab88038b291fc54caeeb3a5a47a44;hpb=6154cb57a6eac3bb1344b8342495f5bb701ee921 diff --git a/site/j2s/swingjs/plaf/HTML5LookAndFeel.java b/site/j2s/swingjs/plaf/HTML5LookAndFeel.java index b4fb2b3..fd87de8 100644 --- a/site/j2s/swingjs/plaf/HTML5LookAndFeel.java +++ b/site/j2s/swingjs/plaf/HTML5LookAndFeel.java @@ -1,2494 +1,2494 @@ -/* - * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package swingjs.plaf; - -//import jsjava.awt.AWTEvent; -import jsjava.awt.Color; -import jsjava.awt.Dimension; -import jsjava.awt.Font; -import jsjavax.swing.DefaultListCellRenderer; -import jsjavax.swing.JTextField; -//import jsjava.awt.Component; -//import jsjava.awt.Dimension; -//import jsjava.awt.Font; -//import jsjava.awt.Point; -//import jsjava.awt.Toolkit; -//import jsjava.awt.Window; -//import jsjava.awt.event.AWTEventListener; -//import jsjava.awt.event.ActionEvent; -//import jsjava.awt.event.KeyEvent; -//import jsjava.awt.event.MouseEvent; -//import jsjava.beans.PropertyChangeEvent; -//import jsjava.beans.PropertyChangeListener; -//import jsjava.beans.PropertyVetoException; -//import java.io.BufferedInputStream; -//import java.io.ByteArrayInputStream; -//import java.io.ByteArrayOutputStream; -//import java.io.IOException; -//import java.io.InputStream; -////import java.io.Serializable; -//import jsjava.security.AccessController; -//import jsjava.security.PrivilegedAction; -//import java.util.HashSet; -//import jsjava.util.Locale; -// -////import jsjavax.sound.sampled.AudioInputStream; -////import jsjavax.sound.sampled.AudioSystem; -////import jsjavax.sound.sampled.Clip; -////import jsjavax.sound.sampled.DataLine; -////import jsjavax.sound.sampled.LineEvent; -////import jsjavax.sound.sampled.LineListener; -//import jsjavax.swing.AbstractAction; -//import jsjavax.swing.Action; -//import jsjavax.swing.ActionMap; -//import jsjavax.swing.DefaultListCellRenderer; -//import jsjavax.swing.JComponent; -////import jsjavax.swing.JInternalFrame; -//import jsjavax.swing.JTextField; -//import jsjavax.swing.LookAndFeel; -//import jsjavax.swing.MenuElement; -//import jsjavax.swing.MenuSelectionManager; -//import jsjavax.swing.SwingUtilities; -import jsjavax.swing.LookAndFeel; -import jsjavax.swing.UIDefaults; -//import jsjavax.swing.UIManager; -//import jsjavax.swing.border.BevelBorder; -//import jsjavax.swing.plaf.ActionMapUIResource; -//import jsjavax.swing.plaf.BorderUIResource; -import jsjavax.swing.plaf.ColorUIResource; -import jsjavax.swing.plaf.FontUIResource; -//import jsjavax.swing.plaf.ComponentUI; -import jsjavax.swing.plaf.DimensionUIResource; -//import jsjavax.swing.plaf.DimensionUIResource; -//import jsjavax.swing.plaf.InsetsUIResource; -////import jsjavax.swing.plaf.basic.popupMenuUI; -////import jsjavax.swing.plaf.basic.BasicSplitPaneDivider; -//import jsjavax.swing.text.DefaultEditorKit; -// -//import jssun.awt.AppContext; -//import jssun.swing.SwingUtilities2; -////import jssun.swing.SwingLazyValue; -// -import jsjavax.swing.plaf.InsetsUIResource; -import jssun.swing.SwingLazyValue; - -/** - * A base class to use in creating a look and feel for Swing. - *
- * Each of the {@code ComponentUI}s provided by {@code BasicLookAndFeel} derives - * its behavior from the defaults table. Unless otherwise noted each of the - * {@code ComponentUI} implementations in this package document the set of - * defaults they use. Unless otherwise noted the defaults are installed at the - * time {@code installUI} is invoked, and follow the recommendations outlined in - * {@code LookAndFeel} for installing defaults. - *
- * Warning: Serialized objects of this class will not be
- * compatible with future Swing releases. The current serialization support is
- * appropriate for short term storage or RMI between applications running the
- * same version of Swing. As of 1.4, support for long term storage of all
- * JavaBeansTM has been added to the
- * java.beans
package. Please see {@link java.beans.XMLEncoder}.
- *
- * @author unattributed
- */
-public class HTML5LookAndFeel extends LookAndFeel {
- // /**
- // * Whether or not the developer has created a JPopupMenu.
- // */
- // static boolean needsEventHelper;
- //
- // /**
- // * Lock used when manipulating clipPlaying.
- // */
- // private transient Object audioLock = new Object();
- // /**
- // * The Clip that is currently playing (set in AudioAction).
- // */
- // private Clip clipPlaying;
- //
- // AWTEventHelper invocator = null;
- //
- // /*
- // * Listen for our AppContext being disposed
- // */
- // private PropertyChangeListener disposer = null;
- //
- /**
- * Returns the look and feel defaults. The returned {@code UIDefaults} is
- * populated by invoking, in order, {@code initClassDefaults},
- * {@code initSystemColorDefaults} and {@code initComponentDefaults}.
- *
- * While this method is public, it should only be invoked by the - * {@code UIManager} when the look and feel is set as the current look and - * feel and after {@code initialize} has been invoked. - * - * @return the look and feel defaults - * - * @see #initClassDefaults - * @see #initSystemColorDefaults - * @see #initComponentDefaults - */ - public UIDefaults getDefaults() { - UIDefaults table = new UIDefaults(610, 0.75f); - - initClassDefaults(table); - initSystemColorDefaults(table); - initComponentDefaults(table); - - return table; - } - - /** - * {@inheritDoc} - */ - public void initialize() { - // if (needsEventHelper) { - // installAWTEventListener(); - // } - } - - void installAWTEventListener() { - // if (invocator == null) { - // invocator = new AWTEventHelper(); - // needsEventHelper = true; - // - // // Add a PropertyChangeListener to our AppContext so we're alerted - // // when the AppContext is disposed(), at which time this laf should - // // be uninitialize()d. - // disposer = new PropertyChangeListener() { - // public void propertyChange(PropertyChangeEvent prpChg) { - // uninitialize(); - // } - // }; - // AppContext.getAppContext().addPropertyChangeListener( - // AppContext.GUI_DISPOSED, - // disposer); - // } - } - - /** - * {@inheritDoc} - */ - public void uninitialize() { - // AppContext context = AppContext.getAppContext(); - // synchronized (popupMenuUI.MOUSE_GRABBER_KEY) { - // Object grabber = context.get(popupMenuUI.MOUSE_GRABBER_KEY); - // if (grabber != null) { - // ((popupMenuUI.MouseGrabber)grabber).uninstall(); - // } - // } - // synchronized (popupMenuUI.MENU_KEYBOARD_HELPER_KEY) { - // Object helper = - // context.get(popupMenuUI.MENU_KEYBOARD_HELPER_KEY); - // if (helper != null) { - // ((popupMenuUI.MenuKeyboardHelper)helper).uninstall(); - // } - // } - // - // if(invocator != null) { - // AccessController.doPrivileged(invocator); - // invocator = null; - // } - // - // if (disposer != null) { - // // Note that we're likely calling removePropertyChangeListener() - // // during the course of AppContext.firePropertyChange(). - // // However, EventListenerAggreggate has code to safely modify - // // the list under such circumstances. - // context.removePropertyChangeListener(AppContext.GUI_DISPOSED, - // disposer); - // disposer = null; - // } - } - - /** - * Populates {@code table} with mappings from {@code uiClassID} to the fully - * qualified name of the ui class. The value for a particular - * {@code uiClassID} is {@code "jsjavax.swing.plaf.basic.Basic + uiClassID"}. - * For example, the value for the {@code uiClassID} {@code TreeUI} is - * {@code "jsjavax.swing.plaf.basic.BasicTreeUI"}. - * - * @param table - * the {@code UIDefaults} instance the entries are added to - * @throws NullPointerException - * if {@code table} is {@code null} - * - * @see jsjavax.swing.LookAndFeel - * @see #getDefaults - */ - protected void initClassDefaults(UIDefaults table) { - final String packageName = "swingjs.plaf."; - Object[] uiDefaults = { - /**/ "ButtonUI", packageName + "JSButtonUI", - /**/ "CheckBoxUI", packageName + "JSCheckBoxUI", - "ColorChooserUI", packageName + "JSColorChooserUI", - /**/ "FormattedTextFieldUI", packageName + "JSFormattedTextFieldUI", - /**/ "MenuBarUI", packageName + "JSMenuBarUI", - /**/ "MenuUI", packageName + "JSMenuUI", - /**/ "MenuItemUI", packageName + "JSMenuItemUI", - /**/ "CheckBoxMenuItemUI", packageName + "JSCheckBoxMenuItemUI", - /**/ "RadioButtonMenuItemUI", packageName + "JSRadioButtonMenuItemUI", - /**/ "RadioButtonUI", packageName + "JSRadioButtonUI", - /**/ "ToggleButtonUI", packageName + "JSToggleButtonUI", - /**/ "PopupMenuUI", packageName + "JSPopupMenuUI", - "ProgressBarUI", packageName + "JSProgressBarUI", - /**/ "ScrollBarUI", packageName + "JSScrollBarUI", - /**/ "ScrollPaneUI", packageName + "JSScrollPaneUI", - "SplitPaneUI", packageName + "JSSplitPaneUI", - /**/ "SliderUI", packageName + "JSSliderUI", - /**/ "SeparatorUI", packageName + "JSSeparatorUI", - "SpinnerUI", packageName + "JSSpinnerUI", - /**/ "ToolBarSeparatorUI", packageName + "JSToolBarSeparatorUI", - /**/ "PopupMenuSeparatorUI", packageName + "JSPopupMenuSeparatorUI", - "TabbedPaneUI", packageName + "JSTabbedPaneUI", - /**/ "TextAreaUI", packageName + "JSTextAreaUI", - /**/ "TextFieldUI", packageName + "JSTextFieldUI", - /**/ "PasswordFieldUI", packageName + "JSPasswordFieldUI", - "TextPaneUI", packageName + "JSTextPaneUI", - "EditorPaneUI", packageName + "JSEditorPaneUI", - "TreeUI", packageName + "JSTreeUI", - /**/ "LabelUI", packageName + "JSLabelUI", - "ListUI", packageName + "JSListUI", - "ToolBarUI", packageName + "JSToolBarUI", - "ToolTipUI", packageName + "JSToolTipUI", - /**/ "ComboBoxUI", packageName + "JSComboBoxUI", - "TableUI", packageName + "JSTableUI", - "TableHeaderUI", packageName + "JSTableHeaderUI", - "InternalFrameUI", packageName + "JSInternalFrameUI", - "DesktopPaneUI", packageName + "JSDesktopPaneUI", - "DesktopIconUI", packageName + "JSDesktopIconUI", - "OptionPaneUI", packageName + "JSOptionPaneUI", - /**/ "PanelUI", packageName + "JSPanelUI", - /**/ "ViewportUI", packageName + "JSViewportUI", - /**/ "RootPaneUI", packageName + "JSRootPaneUI" - }; - - table.putDefaults(uiDefaults); - } - - /** - * Populates {@code table} with system colors. This creates an array of - * {@code name-color} pairs and invokes {@code loadSystemColors}. - *
- * The name is a {@code String} that corresponds to the name of one of the - * static {@code SystemColor} fields in the {@code SystemColor} class. A - * name-color pair is created for every such {@code SystemColor} field. - *
- * The {@code color} corresponds to a hex {@code String} as understood by - * {@code Color.decode}. For example, one of the {@code name-color} pairs is - * {@code "desktop"-"#005C5C"}. This corresponds to the {@code SystemColor} - * field {@code desktop}, with a color value of {@code new Color(0x005C5C)}. - *
- * The following shows two of the {@code name-color} pairs: - * - *
- * String[] nameColorPairs = new String[] { "desktop", "#005C5C", "activeCaption", - * "#000080" }; - * loadSystemColors(table, nameColorPairs, isNativeLookAndFeel()); - *- * - * As previously stated, this invokes {@code loadSystemColors} with the - * supplied {@code table} and {@code name-color} pair array. The last argument - * to {@code loadSystemColors} indicates whether the value of the field in - * {@code SystemColor} should be used. This method passes the value of - * {@code isNativeLookAndFeel()} as the last argument to - * {@code loadSystemColors}. - * - * @param table - * the {@code UIDefaults} object the values are added to - * @throws NullPointerException - * if {@code table} is {@code null} - * - * @see jsjava.awt.SystemColor - * @see #getDefaults - * @see #loadSystemColors - */ - protected void initSystemColorDefaults(UIDefaults table) { - String[] defaultSystemColors = { - - -// "desktop", "#005C5C", /* -// * Color of the -// * desktop -// * background -// */ -// "activeCaption", "#000080", /* -// * Color for captions (title bars) when they are -// * active. -// */ -// "activeCaptionText", "#FFFFFF", /* -// * Text color for text in captions (title -// * bars). -// */ -// "activeCaptionBorder", "#C0C0C0", /* -// * Border color for caption (title bar) -// * window borders. -// */ -// "inactiveCaption", "#808080", /* -// * Color for captions (title bars) when not -// * active. -// */ -// "inactiveCaptionText", "#C0C0C0", /* -// * Text color for text in inactive -// * captions (title bars). -// */ -// "inactiveCaptionBorder", "#C0C0C0", /* -// * Border color for inactive caption -// * (title bar) window borders. -// */ - // plaf.metal.OceanTheme - "window", "#FFFFFF", /* Default color for the interior of windows */ -// "windowBorder", "#000000", /* ??? */ - "windowText", "#333333", /* ??? */ - "menu", "#C0C0C0", /* Background color for menus */ - "menuText", "#333333", /* Text color for menus */ - "text", "#C0C0C0", /* Text background color */ - "textText", "#333333", /* Text foreground color */ -// "textHighlight", "#000080", /* Text background color when selected */ -// "textHighlightText", "#FFFFFF", /* Text color when selected */ -// "textInactiveText", "#808080", /* Text color when disabled */ - "control", "#EEEEEE", // SECONDARY3 Default color for controls (buttons, sliders, etc) - "controlText", "#333333", // Default color for text in controls -// "controlHighlight", "#C0C0C0", /* -// * Specular highlight (opposite of the -// * shadow) -// */ -// "controlLtHighlight", "#FFFFFF", /* Highlight color for controls */ -// "controlShadow", "#808080", /* Shadow color for controls */ -// "controlDkShadow", "#000000", /* Dark shadow color for controls */ - "scrollbar", "#E0E0E0", /* Scrollbar background (usually the "track") */ - "info", "#FFFFE1", /* ??? */ - "infoText", "#000000" /* ??? */ - }; - - loadSystemColors(table, defaultSystemColors, isNativeLookAndFeel()); - } - - /** - * Populates {@code table} with the {@code name-color} pairs in - * {@code systemColors}. Refer to {@link #initSystemColorDefaults(UIDefaults)} - * for details on the format of {@code systemColors}. - *
- * An entry is added to {@code table} for each of the {@code name-color} pairs - * in {@code systemColors}. The entry key is the {@code name} of the - * {@code name-color} pair. - *
- * The value of the entry corresponds to the {@code color} of the - * {@code name-color} pair. The value of the entry is calculated in one of two - * ways. With either approach the value is always a {@code ColorUIResource}. - *
- * If {@code useNative} is {@code false}, the {@code color} is created by - * using {@code Color.decode} to convert the {@code String} into a - * {@code Color}. If {@code decode} can not convert the {@code String} into a - * {@code Color} ({@code NumberFormatException} is thrown) then a - * {@code ColorUIResource} of black is used. - *
- * If {@code useNative} is {@code true}, the {@code color} is the value of the
- * field in {@code SystemColor} with the same name as the {@code name} of the
- * {@code name-color} pair. If the field is not valid, a
- * {@code ColorUIResource} of black is used.
- *
- * @param table
- * the {@code UIDefaults} object the values are added to
- * @param systemColors
- * array of {@code name-color} pairs as described in
- * {@link #initSystemColorDefaults(UIDefaults)}
- * @param useNative
- * whether the color is obtained from {@code SystemColor} or
- * {@code Color.decode}
- * @throws NullPointerException
- * if {@code systemColors} is {@code null}; or {@code systemColors}
- * is not empty, and {@code table} is {@code null}; or one of the
- * names of the {@code name-color} pairs is {@code null}; or
- * {@code useNative} is {@code false} and one of the {@code colors}
- * of the {@code name-color} pairs is {@code null}
- * @throws ArrayIndexOutOfBoundsException
- * if {@code useNative} is {@code false} and
- * {@code systemColors.length} is odd
- *
- * @see #initSystemColorDefaults(jsjavax.swing.UIDefaults)
- * @see jsjava.awt.SystemColor
- * @see jsjava.awt.Color#decode(String)
- */
- protected void loadSystemColors(UIDefaults table, String[] systemColors,
- boolean useNative) {
- /*
- * PENDING(hmuller) We don't load the system colors below because they're
- * not reliable. Hopefully we'll be able to do better in a future version of
- * AWT.
- */
-// if (useNative) {
-// for (int i = 0; i < systemColors.length; i += 2) {
-// Color color = Color.black;
-// // try {
-// // String name = systemColors[i];
-// // color = (Color)(SystemColor.class.getField(name).get(null));
-// // } catch (Exception e) {
-// // }
-// table.put(systemColors[i], new ColorUIResource(color));
-// }
-// } else {
- for (int i = 0; i < systemColors.length; i += 2) {
- Color color = Color.black;
- try {
- color = Color.decode(systemColors[i + 1]);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- table.put(systemColors[i], new ColorUIResource(color));
- }
-// }
- }
-
- /**
- * Initialize the defaults table with the name of the ResourceBundle used for
- * getting localized defaults. Also initialize the default locale used when no
- * locale is passed into UIDefaults.get(). The default locale should generally
- * not be relied upon. It is here for compatability with releases prior to
- * 1.4.
- */
- private void initResourceBundle(UIDefaults table) {
- // table.setDefaultLocale( Locale.getDefault() );
- // table.addResourceBundle(
- // "com.sun.swing.internal.plaf.basic.resources.basic" );
- }
-
- /**
- * Populates {@code table} with the defaults for the basic look and feel.
- *
- * @param table
- * the {@code UIDefaults} to add the values to
- * @throws NullPointerException
- * if {@code table} is {@code null}
- */
- protected void initComponentDefaults(UIDefaults table) {
-
- initResourceBundle(table);
-
- // // *** Shared Integers
- // Integer fiveHundred = new Integer(500);
-
- // *** Shared Longs
- Long oneThousand = new Long(1000);
-
- // *** Shared Fonts
- Integer twelve = new Integer(12);
- Integer fontPlain = new Integer(Font.PLAIN);
- // Integer fontBold = new Integer(Font.BOLD);
- // Object dialogPlain12 = new SwingLazyValue(
- // "jsjavax.swing.plaf.FontUIResource",
- // null,
- // new Object[] {Font.DIALOG, fontPlain, twelve});
- Object serifPlain12 = new FontUIResource(Font.SERIF, Font.PLAIN, 12);
- Object sansSerifPlain12 = new FontUIResource(Font.SANS_SERIF, Font.PLAIN,
- 12);
- Object dialogPlain12 = new FontUIResource(Font.DIALOG, Font.PLAIN, 12);
- Object monospacedPlain12 = new FontUIResource(Font.MONOSPACED, Font.PLAIN, 12);
- // Object dialogBold12 = new SwingLazyValue(
- // "jsjavax.swing.plaf.FontUIResource",
- // null,
- // new Object[] {Font.DIALOG, fontBold, twelve});
- //
-
- // *** Shared Colors
- // ColorUIResource red = new ColorUIResource(Color.red);
- ColorUIResource black = new ColorUIResource(Color.black);
- ColorUIResource white = new ColorUIResource(Color.white);
- // ColorUIResource yellow = new ColorUIResource(Color.yellow);
- ColorUIResource gray = new ColorUIResource(Color.gray);
- // ColorUIResource lightGray = new ColorUIResource(Color.lightGray);
- ColorUIResource darkGray = new ColorUIResource(Color.darkGray);
- // ColorUIResource scrollBarTrack = new ColorUIResource(224, 224, 224);
-
- Color control = table.getColor("control");
- // Color controlDkShadow = table.getColor("controlDkShadow");
- // Color controlHighlight = table.getColor("controlHighlight");
- // Color controlLtHighlight = table.getColor("controlLtHighlight");
- // Color controlShadow = table.getColor("controlShadow");
- Color controlText = table.getColor("controlText");
- Color menu = table.getColor("menu");
- Color menuText = table.getColor("menuText");
- // Color textHighlight = table.getColor("textHighlight");
- // Color textHighlightText = table.getColor("textHighlightText");
- // Color textInactiveText = table.getColor("textInactiveText");
- Color textText = table.getColor("textText");
- Color window = table.getColor("window");
-
- // *** Shared Insets
- InsetsUIResource zeroInsets = new InsetsUIResource(0, 0, 0, 0);
- InsetsUIResource twoInsets = new InsetsUIResource(2, 2, 2, 2);
- InsetsUIResource threeInsets = new InsetsUIResource(3, 3, 3, 3);
-
- // // *** Shared Borders
- // Object marginBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders$MarginBorder");
- // Object etchedBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.BorderUIResource",
- // "getEtchedBorderUIResource");
- // Object loweredBevelBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.BorderUIResource",
- // "getLoweredBevelBorderUIResource");
- //
- // Object popupMenuBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getInternalFrameBorder");
- //
- // Object blackLineBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.BorderUIResource",
- // "getBlackLineBorderUIResource");
- // Object focusCellHighlightBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.BorderUIResource$LineBorderUIResource",
- // null,
- // new Object[] {yellow});
- //
- // Object noFocusBorder = new
- // BorderUIResource.EmptyBorderUIResource(1,1,1,1);
- //
- // Object tableHeaderBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.BorderUIResource$BevelBorderUIResource",
- // null,
- // new Object[] { new Integer(BevelBorder.RAISED),
- // controlLtHighlight,
- // control,
- // controlDkShadow,
- // controlShadow });
- //
- //
- // // *** Button value objects
- //
- // Object buttonBorder =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getButtonBorder");
- //
- // Object buttonToggleBorder =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getToggleButtonBorder");
- //
- // Object radioButtonBorder =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getRadioButtonBorder");
- //
- // // *** FileChooser / FileView value objects
- //
- // Object newFolderIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/NewFolder.gif");
- // Object upFolderIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/UpFolder.gif");
- // Object homeFolderIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/HomeFolder.gif");
- // Object detailsViewIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/DetailsView.gif");
- // Object listViewIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/ListView.gif");
- // Object directoryIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/Directory.gif");
- // Object fileIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/File.gif");
- // Object computerIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/Computer.gif");
- // Object hardDriveIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/HardDrive.gif");
- // Object floppyDriveIcon = SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/FloppyDrive.gif");
- //
- //
- // // *** InternalFrame value objects
- //
- // Object internalFrameBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getInternalFrameBorder");
- //
- // // *** List value objects
- //
- Object listCellRendererActiveValue = new UIDefaults.ActiveValue() {
- public Object createValue(UIDefaults table) {
- return new DefaultListCellRenderer.UIResource();
- }
- };
-
- //
- // // *** Menus value objects
- //
- // Object menuBarBorder =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getMenuBarBorder");
- //
- // Object menuItemCheckIcon =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "getMenuItemCheckIcon");
- //
- // Object menuItemArrowIcon =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "getMenuItemArrowIcon");
- //
- //
- // Object menuArrowIcon =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "getMenuArrowIcon");
- //
- // Object checkBoxIcon =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "getCheckBoxIcon");
- //
- // Object radioButtonIcon =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "getRadioButtonIcon");
- //
- // Object checkBoxMenuItemIcon =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "getCheckBoxMenuItemIcon");
- //
- // Object radioButtonMenuItemIcon =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "getRadioButtonMenuItemIcon");
- //
- // Object menuItemAcceleratorDelimiter = new String("+");
- //
- // // *** OptionPane value objects
- //
- // Object optionPaneMinimumSize = new DimensionUIResource(262, 90);
- //
- Integer zero = new Integer(0);
- // Object zeroBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.BorderUIResource$EmptyBorderUIResource",
- // new Object[] {zero, zero, zero, zero});
- //
- // Integer ten = new Integer(10);
- // Object optionPaneBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.BorderUIResource$EmptyBorderUIResource",
- // new Object[] {ten, ten, twelve, ten});
- //
- // Object optionPaneButtonAreaBorder = new SwingLazyValue(
- // "jsjavax.swing.plaf.BorderUIResource$EmptyBorderUIResource",
- // new Object[] {new Integer(6), zero, zero, zero});
- //
- //
- // // *** ProgessBar value objects
- //
- // Object progressBarBorder =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getProgressBarBorder");
- //
- // // ** ScrollBar value objects
- //
- // Object minimumThumbSize = new DimensionUIResource(8,8);
- // Object maximumThumbSize = new DimensionUIResource(4096,4096);
- //
- // // ** Slider value objects
- //
- // Object sliderFocusInsets = twoInsets;
- //
- // Object toolBarSeparatorSize = new DimensionUIResource( 10, 10 );
- //
- //
- // // *** SplitPane value objects
- //
- // Object splitPaneBorder =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getSplitPaneBorder");
- // Object splitPaneDividerBorder =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getSplitPaneDividerBorder");
- //
- // ** TabbedBane value objects
-
- Object tabbedPaneTabInsets = new InsetsUIResource(0, 4, 1, 4);
-
- Object tabbedPaneTabPadInsets = new InsetsUIResource(2, 2, 2, 1);
-
- Object tabbedPaneTabAreaInsets = new InsetsUIResource(3, 2, 0, 2);
-
- Object tabbedPaneContentBorderInsets = new InsetsUIResource(2, 2, 3, 3);
-
- // *** Text value objects
-
- // Object textFieldBorder =
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicBorders",
- // "getTextFieldBorder");
- //
- Object editorMargin = threeInsets;
-
- // Object caretBlinkRate = fiveHundred;
- Integer four = new Integer(4);
- //
- // Object[] allAuditoryCues = new Object[] {
- // "CheckBoxMenuItem.commandSound",
- // "InternalFrame.closeSound",
- // "InternalFrame.maximizeSound",
- // "InternalFrame.minimizeSound",
- // "InternalFrame.restoreDownSound",
- // "InternalFrame.restoreUpSound",
- // "MenuItem.commandSound",
- // "OptionPane.errorSound",
- // "OptionPane.informationSound",
- // "OptionPane.questionSound",
- // "OptionPane.warningSound",
- // "PopupMenu.popupSound",
- // "RadioButtonMenuItem.commandSound"};
- //
- // Object[] noAuditoryCues = new Object[] {"mute"};
- //
- // // *** Component Defaults
- //
- Object[] defaults = {
- "*.font",
- dialogPlain12,
- "*.background",
- control,
- "*.foreground",
- controlText,
- // *** Auditory Feedback
- // "AuditoryCues.cueList", allAuditoryCues,
- // "AuditoryCues.allAuditoryCues", allAuditoryCues,
- // "AuditoryCues.noAuditoryCues", noAuditoryCues,
- // // this key defines which of the various cues to render.
- // // L&Fs that want auditory feedback NEED to override playList.
- // "AuditoryCues.playList", null,
-
- // *** Buttons
- // "Button.defaultButtonFollowsFocus", Boolean.TRUE,
- // "Button.font", dialogPlain12,
- // "Button.background", control,
- // "Button.foreground", controlText,
- // "Button.shadow", controlShadow,
- // "Button.darkShadow", controlDkShadow,
- // "Button.light", controlHighlight,
- // "Button.highlight", controlLtHighlight,
- // "Button.border", buttonBorder,
- "Button.margin",
- new InsetsUIResource(2, 14, 2, 14),
- // "Button.textIconGap", four,
- // "Button.textShiftOffset", zero,
- // "Button.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
- // "SPACE", "pressed",
- // "released SPACE", "released",
- // "ENTER", "pressed",
- // "released ENTER", "released"
- // }),
- //
- // "ToggleButton.font", dialogPlain12,
- // "ToggleButton.background", control,
- // "ToggleButton.foreground", controlText,
- // "ToggleButton.shadow", controlShadow,
- // "ToggleButton.darkShadow", controlDkShadow,
- // "ToggleButton.light", controlHighlight,
- // "ToggleButton.highlight", controlLtHighlight,
- // "ToggleButton.border", buttonToggleBorder,
- "ToggleButton.margin",
- new InsetsUIResource(2, 14, 2, 14),
- "ToggleButton.textIconGap",
- four,
- "ToggleButton.textShiftOffset",
- zero,
- // "ToggleButton.focusInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "SPACE", "pressed",
- // "released SPACE", "released"
- // }),
- //
- // "RadioButton.font", dialogPlain12,
- // "RadioButton.background", control,
- // "RadioButton.foreground", controlText,
- // "RadioButton.shadow", controlShadow,
- // "RadioButton.darkShadow", controlDkShadow,
- // "RadioButton.light", controlHighlight,
- // "RadioButton.highlight", controlLtHighlight,
- // "RadioButton.border", radioButtonBorder,
- "RadioButton.margin",
- twoInsets,
- "RadioButton.textIconGap",
- four,
- "RadioButton.textShiftOffset",
- zero,
- // "RadioButton.icon", radioButtonIcon,
- // "RadioButton.focusInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "SPACE", "pressed",
- // "released SPACE", "released",
- // "RETURN", "pressed"
- // }),
- //
- // "CheckBox.font", dialogPlain12,
- // "CheckBox.background", control,
- // "CheckBox.foreground", controlText,
- // "CheckBox.border", radioButtonBorder,
- "CheckBox.margin",
- twoInsets,
- "CheckBox.textIconGap",
- four,
- "CheckBox.textShiftOffset",
- zero,
- // "CheckBox.icon", checkBoxIcon,
- // "CheckBox.focusInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "SPACE", "pressed",
- // "released SPACE", "released"
- // }),
- // "FileChooser.useSystemExtensionHiding", Boolean.FALSE,
-
- // *** ColorChooser
- // "ColorChooser.font", dialogPlain12,
- // "ColorChooser.background", control,
- // "ColorChooser.foreground", controlText,
- //
- "ColorChooser.swatchesSwatchSize",
- new Dimension(10, 10),
- "ColorChooser.swatchesRecentSwatchSize",
- new Dimension(10, 10),
- "ColorChooser.swatchesDefaultRecentColor",
- control,
-
- // *** ComboBox
- "ComboBox.font",
- sansSerifPlain12,
- "ComboBox.background",
- window,
- "ComboBox.foreground",
- textText,
- // "ComboBox.buttonBackground", control,
- // "ComboBox.buttonShadow", controlShadow,
- // "ComboBox.buttonDarkShadow", controlDkShadow,
- // "ComboBox.buttonHighlight", controlLtHighlight,
- // "ComboBox.selectionBackground", textHighlight,
- // "ComboBox.selectionForeground", textHighlightText,
- // "ComboBox.disabledBackground", control,
- // "ComboBox.disabledForeground", textInactiveText,
- "ComboBox.timeFactor",
- oneThousand,
- "ComboBox.isEnterSelectablePopup",
- Boolean.FALSE,
- // "ComboBox.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ESCAPE", "hidePopup",
- // "PAGE_UP", "pageUpPassThrough",
- // "PAGE_DOWN", "pageDownPassThrough",
- // "HOME", "homePassThrough",
- // "END", "endPassThrough",
- // "ENTER", "enterPressed"
- // }),
- //
- // *** FileChooser
-
- // "FileChooser.newFolderIcon", newFolderIcon,
- // "FileChooser.upFolderIcon", upFolderIcon,
- // "FileChooser.homeFolderIcon", homeFolderIcon,
- // "FileChooser.detailsViewIcon", detailsViewIcon,
- // "FileChooser.listViewIcon", listViewIcon,
- "FileChooser.readOnly",
- Boolean.FALSE,
- // "FileChooser.usesSingleFilePane", Boolean.FALSE,
- // "FileChooser.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ESCAPE", "cancelSelection",
- // "F5", "refresh",
- // }),
- //
- // "FileView.directoryIcon", directoryIcon,
- // "FileView.fileIcon", fileIcon,
- // "FileView.computerIcon", computerIcon,
- // "FileView.hardDriveIcon", hardDriveIcon,
- // "FileView.floppyDriveIcon", floppyDriveIcon,
-
- // *** InternalFrame
- // "InternalFrame.titleFont", dialogBold12,
- // "InternalFrame.borderColor", control,
- // "InternalFrame.borderShadow", controlShadow,
- // "InternalFrame.borderDarkShadow", controlDkShadow,
- // "InternalFrame.borderHighlight", controlLtHighlight,
- // "InternalFrame.borderLight", controlHighlight,
- // "InternalFrame.border", internalFrameBorder,
- // "InternalFrame.icon", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/JavaCup16.png"),
- //
- // /* Default frame icons are undefined for Basic. */
- // "InternalFrame.maximizeIcon",
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "createEmptyFrameIcon"),
- // "InternalFrame.minimizeIcon",
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "createEmptyFrameIcon"),
- // "InternalFrame.iconifyIcon",
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "createEmptyFrameIcon"),
- // "InternalFrame.closeIcon",
- // new SwingLazyValue(
- // "jsjavax.swing.plaf.basic.BasicIconFactory",
- // "createEmptyFrameIcon"),
- // // InternalFrame Auditory Cue Mappings
- // "InternalFrame.closeSound", null,
- // "InternalFrame.maximizeSound", null,
- // "InternalFrame.minimizeSound", null,
- // "InternalFrame.restoreDownSound", null,
- // "InternalFrame.restoreUpSound", null,
- //
- // "InternalFrame.activeTitleBackground", table.get("activeCaption"),
- // "InternalFrame.activeTitleForeground",
- // table.get("activeCaptionText"),
- // "InternalFrame.inactiveTitleBackground",
- // table.get("inactiveCaption"),
- // "InternalFrame.inactiveTitleForeground",
- // table.get("inactiveCaptionText"),
- // "InternalFrame.windowBindings", new Object[] {
- // "shift ESCAPE", "showSystemMenu",
- // "ctrl SPACE", "showSystemMenu",
- // "ESCAPE", "hideSystemMenu"},
- //
- // "InternalFrameTitlePane.iconifyButtonOpacity", Boolean.TRUE,
- // "InternalFrameTitlePane.maximizeButtonOpacity", Boolean.TRUE,
- // "InternalFrameTitlePane.closeButtonOpacity", Boolean.TRUE,
-
- // "DesktopIcon.border", internalFrameBorder,
- //
- // "Desktop.minOnScreenInsets", threeInsets,
- // "Desktop.background", table.get("desktop"),
- // "Desktop.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ctrl F5", "restore",
- // "ctrl F4", "close",
- // "ctrl F7", "move",
- // "ctrl F8", "resize",
- // "RIGHT", "right",
- // "KP_RIGHT", "right",
- // "shift RIGHT", "shrinkRight",
- // "shift KP_RIGHT", "shrinkRight",
- // "LEFT", "left",
- // "KP_LEFT", "left",
- // "shift LEFT", "shrinkLeft",
- // "shift KP_LEFT", "shrinkLeft",
- // "UP", "up",
- // "KP_UP", "up",
- // "shift UP", "shrinkUp",
- // "shift KP_UP", "shrinkUp",
- // "DOWN", "down",
- // "KP_DOWN", "down",
- // "shift DOWN", "shrinkDown",
- // "shift KP_DOWN", "shrinkDown",
- // "ESCAPE", "escape",
- // "ctrl F9", "minimize",
- // "ctrl F10", "maximize",
- // "ctrl F6", "selectNextFrame",
- // "ctrl TAB", "selectNextFrame",
- // "ctrl alt F6", "selectNextFrame",
- // "shift ctrl alt F6", "selectPreviousFrame",
- // "ctrl F12", "navigateNext",
- // "shift ctrl F12", "navigatePrevious"
- // }),
-
- // *** Label
- // "Label.font", dialogPlain12,
- // "Label.background", control,
- // "Label.foreground", controlText,
- // "Label.disabledForeground", white,
- // "Label.disabledShadow", controlShadow,
- "Label.border",
- null,
-
- // *** List
- // "List.font", dialogPlain12,
- "List.background",
- window,
- "List.foreground",
- textText,
- // "List.selectionBackground", textHighlight,
- // "List.selectionForeground", textHighlightText,
- // "List.noFocusBorder", noFocusBorder,
- // "List.focusCellHighlightBorder", focusCellHighlightBorder,
- // "List.dropLineColor", controlShadow,
- // "List.border", null,
- "List.cellRenderer",
- listCellRendererActiveValue,
- "List.timeFactor",
- oneThousand,
- // "List.focusInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ctrl C", "copy",
- // "ctrl V", "paste",
- // "ctrl X", "cut",
- // "COPY", "copy",
- // "PASTE", "paste",
- // "CUT", "cut",
- // "control INSERT", "copy",
- // "shift INSERT", "paste",
- // "shift DELETE", "cut",
- // "UP", "selectPreviousRow",
- // "KP_UP", "selectPreviousRow",
- // "shift UP", "selectPreviousRowExtendSelection",
- // "shift KP_UP", "selectPreviousRowExtendSelection",
- // "ctrl shift UP", "selectPreviousRowExtendSelection",
- // "ctrl shift KP_UP", "selectPreviousRowExtendSelection",
- // "ctrl UP", "selectPreviousRowChangeLead",
- // "ctrl KP_UP", "selectPreviousRowChangeLead",
- // "DOWN", "selectNextRow",
- // "KP_DOWN", "selectNextRow",
- // "shift DOWN", "selectNextRowExtendSelection",
- // "shift KP_DOWN", "selectNextRowExtendSelection",
- // "ctrl shift DOWN", "selectNextRowExtendSelection",
- // "ctrl shift KP_DOWN", "selectNextRowExtendSelection",
- // "ctrl DOWN", "selectNextRowChangeLead",
- // "ctrl KP_DOWN", "selectNextRowChangeLead",
- // "LEFT", "selectPreviousColumn",
- // "KP_LEFT", "selectPreviousColumn",
- // "shift LEFT", "selectPreviousColumnExtendSelection",
- // "shift KP_LEFT", "selectPreviousColumnExtendSelection",
- // "ctrl shift LEFT", "selectPreviousColumnExtendSelection",
- // "ctrl shift KP_LEFT", "selectPreviousColumnExtendSelection",
- // "ctrl LEFT", "selectPreviousColumnChangeLead",
- // "ctrl KP_LEFT", "selectPreviousColumnChangeLead",
- // "RIGHT", "selectNextColumn",
- // "KP_RIGHT", "selectNextColumn",
- // "shift RIGHT", "selectNextColumnExtendSelection",
- // "shift KP_RIGHT", "selectNextColumnExtendSelection",
- // "ctrl shift RIGHT", "selectNextColumnExtendSelection",
- // "ctrl shift KP_RIGHT", "selectNextColumnExtendSelection",
- // "ctrl RIGHT", "selectNextColumnChangeLead",
- // "ctrl KP_RIGHT", "selectNextColumnChangeLead",
- // "HOME", "selectFirstRow",
- // "shift HOME", "selectFirstRowExtendSelection",
- // "ctrl shift HOME", "selectFirstRowExtendSelection",
- // "ctrl HOME", "selectFirstRowChangeLead",
- // "END", "selectLastRow",
- // "shift END", "selectLastRowExtendSelection",
- // "ctrl shift END", "selectLastRowExtendSelection",
- // "ctrl END", "selectLastRowChangeLead",
- // "PAGE_UP", "scrollUp",
- // "shift PAGE_UP", "scrollUpExtendSelection",
- // "ctrl shift PAGE_UP", "scrollUpExtendSelection",
- // "ctrl PAGE_UP", "scrollUpChangeLead",
- // "PAGE_DOWN", "scrollDown",
- // "shift PAGE_DOWN", "scrollDownExtendSelection",
- // "ctrl shift PAGE_DOWN", "scrollDownExtendSelection",
- // "ctrl PAGE_DOWN", "scrollDownChangeLead",
- // "ctrl A", "selectAll",
- // "ctrl SLASH", "selectAll",
- // "ctrl BACK_SLASH", "clearSelection",
- // "SPACE", "addToSelection",
- // "ctrl SPACE", "toggleAndAnchor",
- // "shift SPACE", "extendTo",
- // "ctrl shift SPACE", "moveSelectionTo"
- // }),
- // "List.focusInputMap.RightToLeft",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "LEFT", "selectNextColumn",
- // "KP_LEFT", "selectNextColumn",
- // "shift LEFT", "selectNextColumnExtendSelection",
- // "shift KP_LEFT", "selectNextColumnExtendSelection",
- // "ctrl shift LEFT", "selectNextColumnExtendSelection",
- // "ctrl shift KP_LEFT", "selectNextColumnExtendSelection",
- // "ctrl LEFT", "selectNextColumnChangeLead",
- // "ctrl KP_LEFT", "selectNextColumnChangeLead",
- // "RIGHT", "selectPreviousColumn",
- // "KP_RIGHT", "selectPreviousColumn",
- // "shift RIGHT", "selectPreviousColumnExtendSelection",
- // "shift KP_RIGHT", "selectPreviousColumnExtendSelection",
- // "ctrl shift RIGHT", "selectPreviousColumnExtendSelection",
- // "ctrl shift KP_RIGHT", "selectPreviousColumnExtendSelection",
- // "ctrl RIGHT", "selectPreviousColumnChangeLead",
- // "ctrl KP_RIGHT", "selectPreviousColumnChangeLead",
- // }),
- //
- // *** Menus
- "MenuBar.font",
- dialogPlain12,
- "MenuBar.background",
- menu,
- "MenuBar.foreground",
- menuText,
- // "MenuBar.shadow", controlShadow,
- // "MenuBar.highlight", controlLtHighlight,
- // "MenuBar.border", menuBarBorder,
- // "MenuBar.windowBindings", new Object[] {
- // "F10", "takeFocus" },
- //
- "MenuItem.font", dialogPlain12,
- //"MenuItem.acceleratorFont", dialogPlain12,
- "MenuItem.background",
- menu,
- "MenuItem.foreground",
- menuText,
- // "MenuItem.selectionForeground", textHighlightText,
- // "MenuItem.selectionBackground", textHighlight,
- // "MenuItem.disabledForeground", null,
- // "MenuItem.acceleratorForeground", menuText,
- // "MenuItem.acceleratorSelectionForeground", textHighlightText,
- // "MenuItem.acceleratorDelimiter", menuItemAcceleratorDelimiter,
- // "MenuItem.border", marginBorder,
- // "MenuItem.borderPainted", Boolean.FALSE,
- "MenuItem.margin",
- twoInsets,
- // "MenuItem.checkIcon", menuItemCheckIcon,
- // "MenuItem.arrowIcon", menuItemArrowIcon,
- // "MenuItem.commandSound", null,
- //
- "RadioButtonMenuItem.font", dialogPlain12,
- // "RadioButtonMenuItem.acceleratorFont", dialogPlain12,
- "RadioButtonMenuItem.background",
- menu,
- "RadioButtonMenuItem.foreground",
- menuText,
- // "RadioButtonMenuItem.selectionForeground", textHighlightText,
- // "RadioButtonMenuItem.selectionBackground", textHighlight,
- // "RadioButtonMenuItem.disabledForeground", null,
- // "RadioButtonMenuItem.acceleratorForeground", menuText,
- // "RadioButtonMenuItem.acceleratorSelectionForeground",
- // textHighlightText,
- // "RadioButtonMenuItem.border", marginBorder,
- // "RadioButtonMenuItem.borderPainted", Boolean.FALSE,
- "RadioButtonMenuItem.margin",
- twoInsets,
- // "RadioButtonMenuItem.checkIcon", radioButtonMenuItemIcon,
- // "RadioButtonMenuItem.arrowIcon", menuItemArrowIcon,
- // "RadioButtonMenuItem.commandSound", null,
-
- "CheckBoxMenuItem.font", dialogPlain12,
- // "CheckBoxMenuItem.acceleratorFont", dialogPlain12,
- "CheckBoxMenuItem.background",
- menu,
- "CheckBoxMenuItem.foreground",
- menuText,
- // "CheckBoxMenuItem.selectionForeground", textHighlightText,
- // "CheckBoxMenuItem.selectionBackground", textHighlight,
- // "CheckBoxMenuItem.disabledForeground", null,
- // "CheckBoxMenuItem.acceleratorForeground", menuText,
- // "CheckBoxMenuItem.acceleratorSelectionForeground", textHighlightText,
- // "CheckBoxMenuItem.border", marginBorder,
- // "CheckBoxMenuItem.borderPainted", Boolean.FALSE,
- "CheckBoxMenuItem.margin",
- twoInsets,
- // "CheckBoxMenuItem.checkIcon", checkBoxMenuItemIcon,
- // "CheckBoxMenuItem.arrowIcon", menuItemArrowIcon,
- // "CheckBoxMenuItem.commandSound", null,
-
- // "Menu.font", dialogPlain12,
- // "Menu.acceleratorFont", dialogPlain12,
- "Menu.background",
- menu,
- "Menu.foreground",
- menuText,
- // "Menu.selectionForeground", textHighlightText,
- // "Menu.selectionBackground", textHighlight,
- // "Menu.disabledForeground", null,
- // "Menu.acceleratorForeground", menuText,
- // "Menu.acceleratorSelectionForeground", textHighlightText,
- // "Menu.border", marginBorder,
- // "Menu.borderPainted", Boolean.FALSE,
- "Menu.margin",
- twoInsets,
- // "Menu.checkIcon", menuItemCheckIcon,
- // "Menu.arrowIcon", menuArrowIcon,
- // "Menu.menuPopupOffsetX", new Integer(0),
- // "Menu.menuPopupOffsetY", new Integer(0),
- // "Menu.submenuPopupOffsetX", new Integer(0),
- // "Menu.submenuPopupOffsetY", new Integer(0),
- // "Menu.shortcutKeys", new int[] {KeyEvent.ALT_MASK},
- // "Menu.crossMenuMnemonic", Boolean.TRUE,
- // Menu.cancelMode affects the cancel menu action behaviour;
- // currently supports:
- // "hideLastSubmenu" (default)
- // hides the last open submenu,
- // and move selection one step back
- // "hideMenuTree"
- // resets selection and
- // hide the entire structure of open menu and its submenus
- // "Menu.cancelMode", "hideLastSubmenu",
-
- // Menu.preserveTopLevelSelection affects
- // the cancel menu action behaviour
- // if set to true then top level menu selection
- // will be preserved when the last popup was cancelled;
- // the menu itself will be unselect with the next cancel action
- // "Menu.preserveTopLevelSelection", Boolean.FALSE,
-
- // PopupMenu
- // "PopupMenu.font", dialogPlain12,
- "PopupMenu.background",
- menu,
- "PopupMenu.foreground",
- menuText,
- // "PopupMenu.border", popupMenuBorder,
- // Internal Frame Auditory Cue Mappings
- // "PopupMenu.popupSound", null,
- // // These window InputMap bindings are used when the Menu is
- // // selected.
- // "PopupMenu.selectedWindowInputMapBindings", new Object[] {
- // "ESCAPE", "cancel",
- // "DOWN", "selectNext",
- // "KP_DOWN", "selectNext",
- // "UP", "selectPrevious",
- // "KP_UP", "selectPrevious",
- // "LEFT", "selectParent",
- // "KP_LEFT", "selectParent",
- // "RIGHT", "selectChild",
- // "KP_RIGHT", "selectChild",
- // "ENTER", "return",
- // "ctrl ENTER", "return",
- // "SPACE", "return"
- // },
- // "PopupMenu.selectedWindowInputMapBindings.RightToLeft", new Object[]
- // {
- // "LEFT", "selectChild",
- // "KP_LEFT", "selectChild",
- // "RIGHT", "selectParent",
- // "KP_RIGHT", "selectParent",
- // },
- "PopupMenu.consumeEventOnClose",
- Boolean.FALSE,
-
- // *** OptionPane
- // You can additionaly define OptionPane.messageFont which will
- // dictate the fonts used for the message, and
- // OptionPane.buttonFont, which defines the font for the buttons.
- // "OptionPane.font", dialogPlain12,
- // "OptionPane.background", control,
- // "OptionPane.foreground", controlText,
- "OptionPane.messageForeground",
- controlText,
- // "OptionPane.border", optionPaneBorder,
- // "OptionPane.messageAreaBorder", zeroBorder,
- // "OptionPane.buttonAreaBorder", optionPaneButtonAreaBorder,
- // "OptionPane.minimumSize", optionPaneMinimumSize,
- // "OptionPane.errorIcon", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/Error.gif"),
- // "OptionPane.informationIcon", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/Inform.gif"),
- // "OptionPane.warningIcon", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/Warn.gif"),
- // "OptionPane.questionIcon", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/Question.gif"),
- // "OptionPane.windowBindings", new Object[] {
- // "ESCAPE", "close" },
- // // OptionPane Auditory Cue Mappings
- // "OptionPane.errorSound", null,
- // "OptionPane.informationSound", null, // Info and Plain
- // "OptionPane.questionSound", null,
- // "OptionPane.warningSound", null,
- // "OptionPane.buttonClickThreshhold", fiveHundred,
-
- // *** Panel
- "Panel.font",
- dialogPlain12,
- "Panel.background",
- control,
- "Panel.foreground",
- textText,
-
- // *** ProgressBar
- // "ProgressBar.font", dialogPlain12,
- // "ProgressBar.foreground", textHighlight,
- // "ProgressBar.background", control,
- // "ProgressBar.selectionForeground", control,
- // "ProgressBar.selectionBackground", textHighlight,
- // "ProgressBar.border", progressBarBorder,
- "ProgressBar.cellLength",
- new Integer(1),
- "ProgressBar.cellSpacing",
- zero,
- "ProgressBar.repaintInterval",
- new Integer(50),
- "ProgressBar.cycleTime",
- new Integer(3000),
- "ProgressBar.horizontalSize",
- new DimensionUIResource(146, 12),
- "ProgressBar.verticalSize",
- new DimensionUIResource(12, 146),
-
- // *** Separator
- // "Separator.shadow", controlShadow, // DEPRECATED - DO NOT USE!
- // "Separator.highlight", controlLtHighlight, // DEPRECATED - DO NOT
- // USE!
- //
- // "Separator.background", controlLtHighlight,
- // "Separator.foreground", controlShadow,
-
- // *** ScrollBar/ScrollPane/Viewport
- // "ScrollBar.background", scrollBarTrack,
- "ScrollBar.foreground",
- control,
- // "ScrollBar.track", table.get("scrollbar"),
- // "ScrollBar.trackHighlight", controlDkShadow,
- // "ScrollBar.thumb", control,
- // "ScrollBar.thumbHighlight", controlLtHighlight,
- // "ScrollBar.thumbDarkShadow", controlDkShadow,
- // "ScrollBar.thumbShadow", controlShadow,
- // "ScrollBar.border", null,
- // "ScrollBar.minimumThumbSize", minimumThumbSize,
- // "ScrollBar.maximumThumbSize", maximumThumbSize,
- // "ScrollBar.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "RIGHT", "positiveUnitIncrement",
- // "KP_RIGHT", "positiveUnitIncrement",
- // "DOWN", "positiveUnitIncrement",
- // "KP_DOWN", "positiveUnitIncrement",
- // "PAGE_DOWN", "positiveBlockIncrement",
- // "LEFT", "negativeUnitIncrement",
- // "KP_LEFT", "negativeUnitIncrement",
- // "UP", "negativeUnitIncrement",
- // "KP_UP", "negativeUnitIncrement",
- // "PAGE_UP", "negativeBlockIncrement",
- // "HOME", "minScroll",
- // "END", "maxScroll"
- // }),
- // "ScrollBar.ancestorInputMap.RightToLeft",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "RIGHT", "negativeUnitIncrement",
- // "KP_RIGHT", "negativeUnitIncrement",
- // "LEFT", "positiveUnitIncrement",
- // "KP_LEFT", "positiveUnitIncrement",
- // }),
- "ScrollBar.width",
- new Integer(16),
-
- // "ScrollPane.font", dialogPlain12,
- // "ScrollPane.background", control,
- // "ScrollPane.foreground", controlText,
- // "ScrollPane.border", textFieldBorder,
- // "ScrollPane.viewportBorder", null,
- // "ScrollPane.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "RIGHT", "unitScrollRight",
- // "KP_RIGHT", "unitScrollRight",
- // "DOWN", "unitScrollDown",
- // "KP_DOWN", "unitScrollDown",
- // "LEFT", "unitScrollLeft",
- // "KP_LEFT", "unitScrollLeft",
- // "UP", "unitScrollUp",
- // "KP_UP", "unitScrollUp",
- // "PAGE_UP", "scrollUp",
- // "PAGE_DOWN", "scrollDown",
- // "ctrl PAGE_UP", "scrollLeft",
- // "ctrl PAGE_DOWN", "scrollRight",
- // "ctrl HOME", "scrollHome",
- // "ctrl END", "scrollEnd"
- // }),
- // "ScrollPane.ancestorInputMap.RightToLeft",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ctrl PAGE_UP", "scrollRight",
- // "ctrl PAGE_DOWN", "scrollLeft",
- // }),
- //
- // "Viewport.font", dialogPlain12,
- // "Viewport.background", control,
- "Viewport.foreground",
- textText,
-
- // *** Slider
- // "Slider.font", dialogPlain12,
- // "Slider.foreground", control,
- // "Slider.background", control,
- // "Slider.highlight", controlLtHighlight,
- // "Slider.tickColor", Color.black,
- // "Slider.shadow", controlShadow,
- // "Slider.focus", controlDkShadow,
- // "Slider.border", null,
- "Slider.horizontalSize",
- new Dimension(200, 21),
- "Slider.verticalSize",
- new Dimension(21, 200),
- "Slider.minimumHorizontalSize",
- new Dimension(36, 21),
- "Slider.minimumVerticalSize",
- new Dimension(21, 36),
- // "Slider.focusInsets", sliderFocusInsets,
- // "Slider.focusInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "RIGHT", "positiveUnitIncrement",
- // "KP_RIGHT", "positiveUnitIncrement",
- // "DOWN", "negativeUnitIncrement",
- // "KP_DOWN", "negativeUnitIncrement",
- // "PAGE_DOWN", "negativeBlockIncrement",
- // "LEFT", "negativeUnitIncrement",
- // "KP_LEFT", "negativeUnitIncrement",
- // "UP", "positiveUnitIncrement",
- // "KP_UP", "positiveUnitIncrement",
- // "PAGE_UP", "positiveBlockIncrement",
- // "HOME", "minScroll",
- // "END", "maxScroll"
- // }),
- // "Slider.focusInputMap.RightToLeft",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "RIGHT", "negativeUnitIncrement",
- // "KP_RIGHT", "negativeUnitIncrement",
- // "LEFT", "positiveUnitIncrement",
- // "KP_LEFT", "positiveUnitIncrement",
- // }),
- //
- // *** Spinner
- "Spinner.font",
- monospacedPlain12,
- // "Spinner.background", control,
- // "Spinner.foreground", control,
- // "Spinner.border", textFieldBorder,
- // "Spinner.arrowButtonBorder", null,
- // "Spinner.arrowButtonInsets", null,
- "Spinner.arrowButtonSize",
- new Dimension(16, 5),
- // "Spinner.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "UP", "increment",
- // "KP_UP", "increment",
- // "DOWN", "decrement",
- // "KP_DOWN", "decrement",
- // }),
- // "Spinner.editorBorderPainted", Boolean.FALSE,
- "Spinner.editorAlignment",
- JTextField.TRAILING,
-
- // *** SplitPane
- "SplitPane.background",
- control,
- // "SplitPane.highlight", controlLtHighlight,
- // "SplitPane.shadow", controlShadow,
- // "SplitPane.darkShadow", controlDkShadow,
- // "SplitPane.border", splitPaneBorder,
- "SplitPane.dividerSize",
- new Integer(7),
- // "SplitPaneDivider.border", splitPaneDividerBorder,
- "SplitPaneDivider.draggingColor",
- darkGray,
- // "SplitPane.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "UP", "negativeIncrement",
- // "DOWN", "positiveIncrement",
- // "LEFT", "negativeIncrement",
- // "RIGHT", "positiveIncrement",
- // "KP_UP", "negativeIncrement",
- // "KP_DOWN", "positiveIncrement",
- // "KP_LEFT", "negativeIncrement",
- // "KP_RIGHT", "positiveIncrement",
- // "HOME", "selectMin",
- // "END", "selectMax",
- // "F8", "startResize",
- // "F6", "toggleFocus",
- // "ctrl TAB", "focusOutForward",
- // "ctrl shift TAB", "focusOutBackward"
- // }),
- //
- // *** TabbedPane
- // "TabbedPane.font", dialogPlain12,
- // "TabbedPane.background", control,
- // "TabbedPane.foreground", controlText,
- // "TabbedPane.highlight", controlLtHighlight,
- // "TabbedPane.light", controlHighlight,
- // "TabbedPane.shadow", controlShadow,
- // "TabbedPane.darkShadow", controlDkShadow,
- "TabbedPane.selected",
- null,
- // "TabbedPane.focus", controlText,
- "TabbedPane.textIconGap",
- four,
-
- // Causes tabs to be painted on top of the content area border.
- // The amount of overlap is then controlled by tabAreaInsets.bottom,
- // which is zero by default
- "TabbedPane.tabsOverlapBorder",
- Boolean.FALSE,
- // "TabbedPane.selectionFollowsFocus", Boolean.TRUE,
-
- "TabbedPane.labelShift",
- 1,
- "TabbedPane.selectedLabelShift",
- -1,
- "TabbedPane.tabInsets",
- tabbedPaneTabInsets,
- "TabbedPane.selectedTabPadInsets",
- tabbedPaneTabPadInsets,
- "TabbedPane.tabAreaInsets",
- tabbedPaneTabAreaInsets,
- "TabbedPane.contentBorderInsets",
- tabbedPaneContentBorderInsets,
- "TabbedPane.tabRunOverlay",
- new Integer(2),
- // "TabbedPane.tabsOpaque", Boolean.TRUE,
- // "TabbedPane.contentOpaque", Boolean.TRUE,
- // "TabbedPane.focusInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "RIGHT", "navigateRight",
- // "KP_RIGHT", "navigateRight",
- // "LEFT", "navigateLeft",
- // "KP_LEFT", "navigateLeft",
- // "UP", "navigateUp",
- // "KP_UP", "navigateUp",
- // "DOWN", "navigateDown",
- // "KP_DOWN", "navigateDown",
- // "ctrl DOWN", "requestFocusForVisibleComponent",
- // "ctrl KP_DOWN", "requestFocusForVisibleComponent",
- // }),
- // "TabbedPane.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ctrl PAGE_DOWN", "navigatePageDown",
- // "ctrl PAGE_UP", "navigatePageUp",
- // "ctrl UP", "requestFocus",
- // "ctrl KP_UP", "requestFocus",
- // }),
- //
- //
- // *** Table
- // "Table.font", dialogPlain12,
- // "Table.foreground", controlText, // cell text color
- "Table.background",
- window, // cell background color
- // "Table.selectionForeground", textHighlightText,
- // "Table.selectionBackground", textHighlight,
- // "Table.dropLineColor", controlShadow,
- "Table.dropLineShortColor",
- black,
- "Table.gridColor",
- gray, // grid line color
- "Table.focusCellBackground",
- window,
- "Table.focusCellForeground",
- controlText,
- // "Table.focusCellHighlightBorder", focusCellHighlightBorder,
- // "Table.scrollPaneBorder", loweredBevelBorder,
- // "Table.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ctrl C", "copy",
- // "ctrl V", "paste",
- // "ctrl X", "cut",
- // "COPY", "copy",
- // "PASTE", "paste",
- // "CUT", "cut",
- // "control INSERT", "copy",
- // "shift INSERT", "paste",
- // "shift DELETE", "cut",
- // "RIGHT", "selectNextColumn",
- // "KP_RIGHT", "selectNextColumn",
- // "shift RIGHT", "selectNextColumnExtendSelection",
- // "shift KP_RIGHT", "selectNextColumnExtendSelection",
- // "ctrl shift RIGHT", "selectNextColumnExtendSelection",
- // "ctrl shift KP_RIGHT", "selectNextColumnExtendSelection",
- // "ctrl RIGHT", "selectNextColumnChangeLead",
- // "ctrl KP_RIGHT", "selectNextColumnChangeLead",
- // "LEFT", "selectPreviousColumn",
- // "KP_LEFT", "selectPreviousColumn",
- // "shift LEFT", "selectPreviousColumnExtendSelection",
- // "shift KP_LEFT", "selectPreviousColumnExtendSelection",
- // "ctrl shift LEFT", "selectPreviousColumnExtendSelection",
- // "ctrl shift KP_LEFT", "selectPreviousColumnExtendSelection",
- // "ctrl LEFT", "selectPreviousColumnChangeLead",
- // "ctrl KP_LEFT", "selectPreviousColumnChangeLead",
- // "DOWN", "selectNextRow",
- // "KP_DOWN", "selectNextRow",
- // "shift DOWN", "selectNextRowExtendSelection",
- // "shift KP_DOWN", "selectNextRowExtendSelection",
- // "ctrl shift DOWN", "selectNextRowExtendSelection",
- // "ctrl shift KP_DOWN", "selectNextRowExtendSelection",
- // "ctrl DOWN", "selectNextRowChangeLead",
- // "ctrl KP_DOWN", "selectNextRowChangeLead",
- // "UP", "selectPreviousRow",
- // "KP_UP", "selectPreviousRow",
- // "shift UP", "selectPreviousRowExtendSelection",
- // "shift KP_UP", "selectPreviousRowExtendSelection",
- // "ctrl shift UP", "selectPreviousRowExtendSelection",
- // "ctrl shift KP_UP", "selectPreviousRowExtendSelection",
- // "ctrl UP", "selectPreviousRowChangeLead",
- // "ctrl KP_UP", "selectPreviousRowChangeLead",
- // "HOME", "selectFirstColumn",
- // "shift HOME", "selectFirstColumnExtendSelection",
- // "ctrl shift HOME", "selectFirstRowExtendSelection",
- // "ctrl HOME", "selectFirstRow",
- // "END", "selectLastColumn",
- // "shift END", "selectLastColumnExtendSelection",
- // "ctrl shift END", "selectLastRowExtendSelection",
- // "ctrl END", "selectLastRow",
- // "PAGE_UP", "scrollUpChangeSelection",
- // "shift PAGE_UP", "scrollUpExtendSelection",
- // "ctrl shift PAGE_UP", "scrollLeftExtendSelection",
- // "ctrl PAGE_UP", "scrollLeftChangeSelection",
- // "PAGE_DOWN", "scrollDownChangeSelection",
- // "shift PAGE_DOWN", "scrollDownExtendSelection",
- // "ctrl shift PAGE_DOWN", "scrollRightExtendSelection",
- // "ctrl PAGE_DOWN", "scrollRightChangeSelection",
- // "TAB", "selectNextColumnCell",
- // "shift TAB", "selectPreviousColumnCell",
- // "ENTER", "selectNextRowCell",
- // "shift ENTER", "selectPreviousRowCell",
- // "ctrl A", "selectAll",
- // "ctrl SLASH", "selectAll",
- // "ctrl BACK_SLASH", "clearSelection",
- // "ESCAPE", "cancel",
- // "F2", "startEditing",
- // "SPACE", "addToSelection",
- // "ctrl SPACE", "toggleAndAnchor",
- // "shift SPACE", "extendTo",
- // "ctrl shift SPACE", "moveSelectionTo",
- // "F8", "focusHeader"
- // }),
- // "Table.ancestorInputMap.RightToLeft",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "RIGHT", "selectPreviousColumn",
- // "KP_RIGHT", "selectPreviousColumn",
- // "shift RIGHT", "selectPreviousColumnExtendSelection",
- // "shift KP_RIGHT", "selectPreviousColumnExtendSelection",
- // "ctrl shift RIGHT", "selectPreviousColumnExtendSelection",
- // "ctrl shift KP_RIGHT", "selectPreviousColumnExtendSelection",
- // "ctrl RIGHT", "selectPreviousColumnChangeLead",
- // "ctrl KP_RIGHT", "selectPreviousColumnChangeLead",
- // "LEFT", "selectNextColumn",
- // "KP_LEFT", "selectNextColumn",
- // "shift LEFT", "selectNextColumnExtendSelection",
- // "shift KP_LEFT", "selectNextColumnExtendSelection",
- // "ctrl shift LEFT", "selectNextColumnExtendSelection",
- // "ctrl shift KP_LEFT", "selectNextColumnExtendSelection",
- // "ctrl LEFT", "selectNextColumnChangeLead",
- // "ctrl KP_LEFT", "selectNextColumnChangeLead",
- // "ctrl PAGE_UP", "scrollRightChangeSelection",
- // "ctrl PAGE_DOWN", "scrollLeftChangeSelection",
- // "ctrl shift PAGE_UP", "scrollRightExtendSelection",
- // "ctrl shift PAGE_DOWN", "scrollLeftExtendSelection",
- // }),
- // "Table.ascendingSortIcon", new SwingLazyValue(
- // "sun.swing.icon.SortArrowIcon",
- // null, new Object[] { Boolean.TRUE,
- // "Table.sortIconColor" }),
- // "Table.descendingSortIcon", new SwingLazyValue(
- // "sun.swing.icon.SortArrowIcon",
- // null, new Object[] { Boolean.FALSE,
- // "Table.sortIconColor" }),
- // "Table.sortIconColor", controlShadow,
- //
- // "TableHeader.font", dialogPlain12,
- // "TableHeader.foreground", controlText, // header text color
- // "TableHeader.background", control, // header background
- // "TableHeader.cellBorder", tableHeaderBorder,
-
- // Support for changing the background/border of the currently
- // selected header column when the header has the keyboard focus.
- // "TableHeader.focusCellBackground", table.getColor("text"), // like
- // text component bg
- // "TableHeader.focusCellForeground", null,
- // "TableHeader.focusCellBorder", null,
- // "TableHeader.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "SPACE", "toggleSortOrder",
- // "LEFT", "selectColumnToLeft",
- // "KP_LEFT", "selectColumnToLeft",
- // "RIGHT", "selectColumnToRight",
- // "KP_RIGHT", "selectColumnToRight",
- // "alt LEFT", "moveColumnLeft",
- // "alt KP_LEFT", "moveColumnLeft",
- // "alt RIGHT", "moveColumnRight",
- // "alt KP_RIGHT", "moveColumnRight",
- // "alt shift LEFT", "resizeLeft",
- // "alt shift KP_LEFT", "resizeLeft",
- // "alt shift RIGHT", "resizeRight",
- // "alt shift KP_RIGHT", "resizeRight",
- // "ESCAPE", "focusTable",
- // }),
- //
- // *** Text
- "TextField.font",
- sansSerifPlain12,
- "TextField.background",
- window,
- "TextField.foreground",
- textText,
- // "TextField.shadow", controlShadow,
- // "TextField.darkShadow", controlDkShadow,
- // "TextField.light", controlHighlight,
- // "TextField.highlight", controlLtHighlight,
- // "TextField.inactiveForeground", textInactiveText,
- // "TextField.inactiveBackground", control,
- // "TextField.selectionBackground", textHighlight,
- // "TextField.selectionForeground", textHighlightText,
- // "TextField.caretForeground", textText,
- // "TextField.caretBlinkRate", caretBlinkRate,
- // "TextField.border", textFieldBorder,
- "TextField.margin",
- zeroInsets,
-
- "FormattedTextField.font",
- sansSerifPlain12,
- "FormattedTextField.background",
- window,
- "FormattedTextField.foreground",
- textText,
- // "FormattedTextField.inactiveForeground", textInactiveText,
- // "FormattedTextField.inactiveBackground", control,
- // "FormattedTextField.selectionBackground", textHighlight,
- // "FormattedTextField.selectionForeground", textHighlightText,
- "FormattedTextField.caretForeground",
- textText,
- // "FormattedTextField.caretBlinkRate", caretBlinkRate,
- // "FormattedTextField.border", textFieldBorder,
- "FormattedTextField.margin",
- zeroInsets,
- // "FormattedTextField.focusInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ctrl C", DefaultEditorKit.copyAction,
- // "ctrl V", DefaultEditorKit.pasteAction,
- // "ctrl X", DefaultEditorKit.cutAction,
- // "COPY", DefaultEditorKit.copyAction,
- // "PASTE", DefaultEditorKit.pasteAction,
- // "CUT", DefaultEditorKit.cutAction,
- // "control INSERT", DefaultEditorKit.copyAction,
- // "shift INSERT", DefaultEditorKit.pasteAction,
- // "shift DELETE", DefaultEditorKit.cutAction,
- // "shift LEFT", DefaultEditorKit.selectionBackwardAction,
- // "shift KP_LEFT", DefaultEditorKit.selectionBackwardAction,
- // "shift RIGHT", DefaultEditorKit.selectionForwardAction,
- // "shift KP_RIGHT", DefaultEditorKit.selectionForwardAction,
- // "ctrl LEFT", DefaultEditorKit.previousWordAction,
- // "ctrl KP_LEFT", DefaultEditorKit.previousWordAction,
- // "ctrl RIGHT", DefaultEditorKit.nextWordAction,
- // "ctrl KP_RIGHT", DefaultEditorKit.nextWordAction,
- // "ctrl shift LEFT", DefaultEditorKit.selectionPreviousWordAction,
- // "ctrl shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction,
- // "ctrl shift RIGHT", DefaultEditorKit.selectionNextWordAction,
- // "ctrl shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction,
- // "ctrl A", DefaultEditorKit.selectAllAction,
- // "HOME", DefaultEditorKit.beginLineAction,
- // "END", DefaultEditorKit.endLineAction,
- // "shift HOME", DefaultEditorKit.selectionBeginLineAction,
- // "shift END", DefaultEditorKit.selectionEndLineAction,
- // "BACK_SPACE", DefaultEditorKit.deletePrevCharAction,
- // "shift BACK_SPACE", DefaultEditorKit.deletePrevCharAction,
- // "ctrl H", DefaultEditorKit.deletePrevCharAction,
- // "DELETE", DefaultEditorKit.deleteNextCharAction,
- // "ctrl DELETE", DefaultEditorKit.deleteNextWordAction,
- // "ctrl BACK_SPACE", DefaultEditorKit.deletePrevWordAction,
- // "RIGHT", DefaultEditorKit.forwardAction,
- // "LEFT", DefaultEditorKit.backwardAction,
- // "KP_RIGHT", DefaultEditorKit.forwardAction,
- // "KP_LEFT", DefaultEditorKit.backwardAction,
- // "ENTER", JTextField.notifyAction,
- // "ctrl BACK_SLASH", "unselect",
- // "control shift O", "toggle-componentOrientation",
- // "ESCAPE", "reset-field-edit",
- // "UP", "increment",
- // "KP_UP", "increment",
- // "DOWN", "decrement",
- // "KP_DOWN", "decrement",
- // }),
- //
- "PasswordField.font",
- monospacedPlain12,
- "PasswordField.background",
- window,
- "PasswordField.foreground",
- textText,
- // "PasswordField.inactiveForeground", textInactiveText,
- // "PasswordField.inactiveBackground", control,
- // "PasswordField.selectionBackground", textHighlight,
- // "PasswordField.selectionForeground", textHighlightText,
- // "PasswordField.caretForeground", textText,
- // "PasswordField.caretBlinkRate", caretBlinkRate,
- // "PasswordField.border", textFieldBorder,
- "PasswordField.margin",
- zeroInsets,
- "PasswordField.echoChar",
- '*',
-
- "TextArea.font",
- monospacedPlain12,
- "TextArea.background",
- window,
- "TextArea.foreground",
- textText,
- // "TextArea.inactiveForeground", textInactiveText,
- // "TextArea.selectionBackground", textHighlight,
- // "TextArea.selectionForeground", textHighlightText,
- // "TextArea.caretForeground", textText,
- // "TextArea.caretBlinkRate", caretBlinkRate,
- // "TextArea.border", marginBorder,
- "TextArea.margin",
- zeroInsets,
-
- "TextPane.font",
- serifPlain12,
- "TextPane.background",
- white,
- "TextPane.foreground",
- textText,
- // "TextPane.selectionBackground", textHighlight,
- // "TextPane.selectionForeground", textHighlightText,
- // "TextPane.caretForeground", textText,
- // "TextPane.caretBlinkRate", caretBlinkRate,
- // "TextPane.inactiveForeground", textInactiveText,
- // "TextPane.border", marginBorder,
- "TextPane.margin",
- editorMargin,
-
- "EditorPane.font",
- serifPlain12,
- "EditorPane.background",
- white,
- "EditorPane.foreground",
- textText,
- // "EditorPane.selectionBackground", textHighlight,
- // "EditorPane.selectionForeground", textHighlightText,
- // "EditorPane.caretForeground", textText,
- // "EditorPane.caretBlinkRate", caretBlinkRate,
- // "EditorPane.inactiveForeground", textInactiveText,
- // "EditorPane.border", marginBorder,
- "EditorPane.margin",
- editorMargin,
- //
- // "html.pendingImage", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/image-delayed.png"),
- // "html.missingImage", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/image-failed.png"),
- // *** TitledBorder
- // "TitledBorder.font", dialogPlain12,
- "TitledBorder.titleColor",
- controlText,
- // "TitledBorder.border", etchedBorder,
-
- // *** ToolBar
- // "ToolBar.font", dialogPlain12,
- // "ToolBar.background", control,
- // "ToolBar.foreground", controlText,
- // "ToolBar.shadow", controlShadow,
- // "ToolBar.darkShadow", controlDkShadow,
- // "ToolBar.light", controlHighlight,
- // "ToolBar.highlight", controlLtHighlight,
- // "ToolBar.dockingBackground", control,
- // "ToolBar.dockingForeground", red,
- // "ToolBar.floatingBackground", control,
- // "ToolBar.floatingForeground", darkGray,
- // "ToolBar.border", etchedBorder,
- // "ToolBar.separatorSize", toolBarSeparatorSize,
- // "ToolBar.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "UP", "navigateUp",
- // "KP_UP", "navigateUp",
- // "DOWN", "navigateDown",
- // "KP_DOWN", "navigateDown",
- // "LEFT", "navigateLeft",
- // "KP_LEFT", "navigateLeft",
- // "RIGHT", "navigateRight",
- // "KP_RIGHT", "navigateRight"
- // }),
-
- // *** ToolTips
- // "ToolTip.font", sansSerifPlain12,
- // "ToolTip.background", table.get("info"),
- // "ToolTip.foreground", table.get("infoText"),
- // "ToolTip.border", blackLineBorder,
- // ToolTips also support backgroundInactive, borderInactive,
- // and foregroundInactive
-
- // *** ToolTipManager
- // ToolTipManager.enableToolTipMode currently supports:
- // "allWindows" (default):
- // enables tool tips for all windows of all java applications,
- // whether the windows are active or inactive
- // "activeApplication"
- // enables tool tips for windows of an application only when
- // the application has an active window
- // "ToolTipManager.enableToolTipMode", "allWindows",
-
- // *** Tree
- "Tree.paintLines",
- Boolean.TRUE,
- "Tree.lineTypeDashed",
- Boolean.FALSE,
- // "Tree.font", dialogPlain12,
- "Tree.background",
- window,
- "Tree.foreground",
- textText,
- "Tree.hash",
- gray,
- "Tree.textForeground",
- textText,
- "Tree.textBackground",
- table.get("text"),
- // "Tree.selectionForeground", textHighlightText,
- // "Tree.selectionBackground", textHighlight,
- // "Tree.selectionBorderColor", black,
- // "Tree.dropLineColor", controlShadow,
- // "Tree.editorBorder", blackLineBorder,
- "Tree.leftChildIndent", new Integer(7), "Tree.rightChildIndent",
- new Integer(13), "Tree.rowHeight", new Integer(16),
- "Tree.scrollsOnExpand", Boolean.TRUE,
- // "Tree.openIcon", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/TreeOpen.gif"),
- // "Tree.closedIcon", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/TreeClosed.gif"),
- // "Tree.leafIcon", SwingUtilities2.makeIcon(getClass(),
- // BasicLookAndFeel.class,
- // "icons/TreeLeaf.gif"),
- // "Tree.expandedIcon", null,
- // "Tree.collapsedIcon", null,
- // "Tree.changeSelectionWithFocus", Boolean.TRUE,
- // "Tree.drawsFocusBorderAroundIcon", Boolean.FALSE,
- "Tree.timeFactor", oneThousand,
- // "Tree.focusInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ctrl C", "copy",
- // "ctrl V", "paste",
- // "ctrl X", "cut",
- // "COPY", "copy",
- // "PASTE", "paste",
- // "CUT", "cut",
- // "control INSERT", "copy",
- // "shift INSERT", "paste",
- // "shift DELETE", "cut",
- // "UP", "selectPrevious",
- // "KP_UP", "selectPrevious",
- // "shift UP", "selectPreviousExtendSelection",
- // "shift KP_UP", "selectPreviousExtendSelection",
- // "ctrl shift UP", "selectPreviousExtendSelection",
- // "ctrl shift KP_UP", "selectPreviousExtendSelection",
- // "ctrl UP", "selectPreviousChangeLead",
- // "ctrl KP_UP", "selectPreviousChangeLead",
- // "DOWN", "selectNext",
- // "KP_DOWN", "selectNext",
- // "shift DOWN", "selectNextExtendSelection",
- // "shift KP_DOWN", "selectNextExtendSelection",
- // "ctrl shift DOWN", "selectNextExtendSelection",
- // "ctrl shift KP_DOWN", "selectNextExtendSelection",
- // "ctrl DOWN", "selectNextChangeLead",
- // "ctrl KP_DOWN", "selectNextChangeLead",
- // "RIGHT", "selectChild",
- // "KP_RIGHT", "selectChild",
- // "LEFT", "selectParent",
- // "KP_LEFT", "selectParent",
- // "PAGE_UP", "scrollUpChangeSelection",
- // "shift PAGE_UP", "scrollUpExtendSelection",
- // "ctrl shift PAGE_UP", "scrollUpExtendSelection",
- // "ctrl PAGE_UP", "scrollUpChangeLead",
- // "PAGE_DOWN", "scrollDownChangeSelection",
- // "shift PAGE_DOWN", "scrollDownExtendSelection",
- // "ctrl shift PAGE_DOWN", "scrollDownExtendSelection",
- // "ctrl PAGE_DOWN", "scrollDownChangeLead",
- // "HOME", "selectFirst",
- // "shift HOME", "selectFirstExtendSelection",
- // "ctrl shift HOME", "selectFirstExtendSelection",
- // "ctrl HOME", "selectFirstChangeLead",
- // "END", "selectLast",
- // "shift END", "selectLastExtendSelection",
- // "ctrl shift END", "selectLastExtendSelection",
- // "ctrl END", "selectLastChangeLead",
- // "F2", "startEditing",
- // "ctrl A", "selectAll",
- // "ctrl SLASH", "selectAll",
- // "ctrl BACK_SLASH", "clearSelection",
- // "ctrl LEFT", "scrollLeft",
- // "ctrl KP_LEFT", "scrollLeft",
- // "ctrl RIGHT", "scrollRight",
- // "ctrl KP_RIGHT", "scrollRight",
- // "SPACE", "addToSelection",
- // "ctrl SPACE", "toggleAndAnchor",
- // "shift SPACE", "extendTo",
- // "ctrl shift SPACE", "moveSelectionTo"
- // }),
- // "Tree.focusInputMap.RightToLeft",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "RIGHT", "selectParent",
- // "KP_RIGHT", "selectParent",
- // "LEFT", "selectChild",
- // "KP_LEFT", "selectChild",
- // }),
- // "Tree.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "ESCAPE", "cancel"
- // }),
- // // Bind specific keys that can invoke popup on currently
- // // focused JComponent
- // "RootPane.ancestorInputMap",
- // new UIDefaults.LazyInputMap(new Object[] {
- // "shift F10", "postPopup",
- // "CONTEXT_MENU", "postPopup"
- // }),
- //
- // // These bindings are only enabled when there is a default
- // // button set on the rootpane.
- // "RootPane.defaultButtonWindowKeyBindings", new Object[] {
- // "ENTER", "press",
- // "released ENTER", "release",
- // "ctrl ENTER", "press",
- // "ctrl released ENTER", "release"
- // },
- };
-
- table.putDefaults(defaults);
- }
-
- // /**
- // * Returns the ui that is of type klass
, or null if
- // * one can not be found.
- // */
- // static Object getUIOfType(ComponentUI ui, Class klass) {
- // if (klass.isInstance(ui)) {
- // return ui;
- // }
- // return null;
- // }
- //
- // // ********* Auditory Cue support methods and objects *********
- // // also see the "AuditoryCues" section of the defaults table
- //
- // /**
- // * Returns an ActionMap
containing the audio actions
- // * for this look and feel.
- // *
- // * The returned ActionMap
contains Actions
that
- // * embody the ability to render an auditory cue. These auditory
- // * cues map onto user and system activities that may be useful
- // * for an end user to know about (such as a dialog box appearing).
- // *
- // * At the appropriate time,
- // * the {@code ComponentUI} is responsible for obtaining an
- // * Action
out of the ActionMap
and passing
- // * it to playSound
.
- // *
- // * This method first looks up the {@code ActionMap} from the - // * defaults using the key {@code "AuditoryCues.actionMap"}. - // *
- // * If the value is {@code non-null}, it is returned. If the value - // * of the default {@code "AuditoryCues.actionMap"} is {@code null} - // * and the value of the default {@code "AuditoryCues.cueList"} is - // * {@code non-null}, an {@code ActionMapUIResource} is created and - // * populated. Population is done by iterating over each of the - // * elements of the {@code "AuditoryCues.cueList"} array, and - // * invoking {@code createAudioAction()} to create an {@code - // * Action} for each element. The resulting {@code Action} is - // * placed in the {@code ActionMapUIResource}, using the array - // * element as the key. For example, if the {@code - // * "AuditoryCues.cueList"} array contains a single-element, {@code - // * "audioKey"}, the {@code ActionMapUIResource} is created, then - // * populated by way of {@code actionMap.put(cueList[0], - // * createAudioAction(cueList[0]))}. - // *
- // * If the value of the default {@code "AuditoryCues.actionMap"} is - // * {@code null} and the value of the default - // * {@code "AuditoryCues.cueList"} is {@code null}, an empty - // * {@code ActionMapUIResource} is created. - // * - // * - // * @return an ActionMap containing {@code Actions} - // * responsible for playing auditory cues - // * @throws ClassCastException if the value of the - // * default {@code "AuditoryCues.actionMap"} is not an - // * {@code ActionMap}, or the value of the default - // * {@code "AuditoryCues.cueList"} is not an {@code Object[]} - // * @see #createAudioAction - // * @see #playSound(Action) - // * @since 1.4 - // */ - // protected ActionMap getAudioActionMap() { - // ActionMap audioActionMap = (ActionMap)UIManager.get( - // "AuditoryCues.actionMap"); - // if (audioActionMap == null) { - // Object[] acList = (Object[])UIManager.get("AuditoryCues.cueList"); - // if (acList != null) { - // audioActionMap = new ActionMapUIResource(); - // for(int counter = acList.length-1; counter >= 0; counter--) { - // audioActionMap.put(acList[counter], - // createAudioAction(acList[counter])); - // } - // } - // UIManager.getLookAndFeelDefaults().put("AuditoryCues.actionMap", - // audioActionMap); - // } - // return audioActionMap; - // } - // - // /** - // * Creates and returns an {@code Action} used to play a sound. - // *
- // * If {@code key} is {@code non-null}, an {@code Action} is created
- // * using the value from the defaults with key {@code key}. The value
- // * identifies the sound resource to load when
- // * {@code actionPerformed} is invoked on the {@code Action}. The
- // * sound resource is loaded into a {@code byte[]} by way of
- // * {@code getClass().getResourceAsStream()}.
- // *
- // * @param key the key identifying the audio action
- // * @return an {@code Action} used to play the source, or {@code null}
- // * if {@code key} is {@code null}
- // * @see #playSound(Action)
- // * @since 1.4
- // */
- // protected Action createAudioAction(Object key) {
- // if (key != null) {
- // String audioKey = (String)key;
- // String audioValue = (String)UIManager.get(key);
- // return new AudioAction(audioKey, audioValue);
- // } else {
- // return null;
- // }
- // }
- //
- // /**
- // * Pass the name String to the super constructor. This is used
- // * later to identify the Action and decide whether to play it or
- // * not. Store the resource String. I is used to get the audio
- // * resource. In this case, the resource is an audio file.
- // *
- // * @since 1.4
- // */
- // private class AudioAction extends AbstractAction implements LineListener {
- // // We strive to only play one sound at a time (other platforms
- // // appear to do this). This is done by maintaining the field
- // // clipPlaying. Every time a sound is to be played,
- // // cancelCurrentSound is invoked to cancel any sound that may be
- // // playing.
- // private String audioResource;
- // private byte[] audioBuffer;
- //
- // /**
- // * The String is the name of the Action and
- // * points to the audio resource.
- // * The byte[] is a buffer of the audio bits.
- // */
- // public AudioAction(String name, String resource) {
- // super(name);
- // audioResource = resource;
- // }
- //
- // public void actionPerformed(ActionEvent e) {
- // if (audioBuffer == null) {
- // audioBuffer = loadAudioData(audioResource);
- // }
- // if (audioBuffer != null) {
- // cancelCurrentSound(null);
- // try {
- // AudioInputStream soundStream =
- // AudioSystem.getAudioInputStream(
- // new ByteArrayInputStream(audioBuffer));
- // DataLine.Info info =
- // new DataLine.Info(Clip.class, soundStream.getFormat());
- // Clip clip = (Clip) AudioSystem.getLine(info);
- // clip.open(soundStream);
- // clip.addLineListener(this);
- //
- // synchronized(audioLock) {
- // clipPlaying = clip;
- // }
- //
- // clip.start();
- // } catch (Exception ex) {}
- // }
- // }
- //
- // public void update(LineEvent event) {
- // if (event.getType() == LineEvent.Type.STOP) {
- // cancelCurrentSound((Clip)event.getLine());
- // }
- // }
- //
- // /**
- // * If the parameter is null, or equal to the currently
- // * playing sound, then cancel the currently playing sound.
- // */
- // private void cancelCurrentSound(Clip clip) {
- // Clip lastClip = null;
- //
- // synchronized(audioLock) {
- // if (clip == null || clip == clipPlaying) {
- // lastClip = clipPlaying;
- // clipPlaying = null;
- // }
- // }
- //
- // if (lastClip != null) {
- // lastClip.removeLineListener(this);
- // lastClip.close();
- // }
- // }
- // }
- //
- // /**
- // * Utility method that loads audio bits for the specified
- // * soundFile
filename. If this method is unable to
- // * build a viable path name from the baseClass
and
- // * soundFile
passed into this method, it will
- // * return null
.
- // *
- // * @param baseClass used as the root class/location to get the
- // * soundFile from
- // * @param soundFile the name of the audio file to be retrieved
- // * from disk
- // * @return A byte[] with audio data or null
- // * @since 1.4
- // */
- // private byte[] loadAudioData(final String soundFile){
- // if (soundFile == null) {
- // return null;
- // }
- // /* Copy resource into a byte array. This is
- // * necessary because several browsers consider
- // * Class.getResource a security risk since it
- // * can be used to load additional classes.
- // * Class.getResourceAsStream just returns raw
- // * bytes, which we can convert to a sound.
- // */
- // byte[] buffer = (byte[])AccessController.doPrivileged(
- // new PrivilegedAction() {
- // public Object run() {
- // try {
- // InputStream resource = BasicLookAndFeel.this.
- // getClass().getResourceAsStream(soundFile);
- // if (resource == null) {
- // return null;
- // }
- // BufferedInputStream in =
- // new BufferedInputStream(resource);
- // ByteArrayOutputStream out =
- // new ByteArrayOutputStream(1024);
- // byte[] buffer = new byte[1024];
- // int n;
- // while ((n = in.read(buffer)) > 0) {
- // out.write(buffer, 0, n);
- // }
- // in.close();
- // out.flush();
- // buffer = out.toByteArray();
- // return buffer;
- // } catch (IOException ioe) {
- // System.err.println(ioe.toString());
- // return null;
- // }
- // }
- // });
- // if (buffer == null) {
- // System.err.println(getClass().getName() + "/" +
- // soundFile + " not found.");
- // return null;
- // }
- // if (buffer.length == 0) {
- // System.err.println("warning: " + soundFile +
- // " is zero-length");
- // return null;
- // }
- // return buffer;
- // }
- //
- // /**
- // * If necessary, invokes {@code actionPerformed} on
- // * {@code audioAction} to play a sound.
- // * The {@code actionPerformed} method is invoked if the value of
- // * the {@code "AuditoryCues.playList"} default is a {@code
- // * non-null} {@code Object[]} containing a {@code String} entry
- // * equal to the name of the {@code audioAction}.
- // *
- // * @param audioAction an Action that knows how to render the audio
- // * associated with the system or user activity
- // * that is occurring; a value of {@code null}, is
- // * ignored
- // * @throws ClassCastException if {@code audioAction} is {@code non-null}
- // * and the value of the default {@code "AuditoryCues.playList"}
- // * is not an {@code Object[]}
- // * @since 1.4
- // */
- // protected void playSound(Action audioAction) {
- // if (audioAction != null) {
- // Object[] audioStrings = (Object[])
- // UIManager.get("AuditoryCues.playList");
- // if (audioStrings != null) {
- // // create a HashSet to help us decide to play or not
- // HashSet audioCues = new HashSet();
- // for (int i = 0; i < audioStrings.length; i++) {
- // audioCues.add(audioStrings[i]);
- // }
- // // get the name of the Action
- // String actionName = (String)audioAction.getValue(Action.NAME);
- // // if the actionName is in the audioCues HashSet, play it.
- // if (audioCues.contains(actionName)) {
- // audioAction.actionPerformed(new
- // ActionEvent(this, ActionEvent.ACTION_PERFORMED,
- // actionName));
- // }
- // }
- // }
- // }
- //
- //
- // /**
- // * Sets the parent of the passed in ActionMap to be the audio action
- // * map.
- // */
- // static void installAudioActionMap(ActionMap map) {
- // LookAndFeel laf = UIManager.getLookAndFeel();
- // if (laf instanceof BasicLookAndFeel) {
- // map.setParent(((BasicLookAndFeel)laf).getAudioActionMap());
- // }
- // }
- //
- //
- // /**
- // * Helper method to play a named sound.
- // *
- // * @param c JComponent to play the sound for.
- // * @param actionKey Key for the sound.
- // */
- // static void playSound(JComponent c, Object actionKey) {
- // LookAndFeel laf = UIManager.getLookAndFeel();
- // if (laf instanceof BasicLookAndFeel) {
- // ActionMap map = c.getActionMap();
- // if (map != null) {
- // Action audioAction = map.get(actionKey);
- // if (audioAction != null) {
- // // pass off firing the Action to a utility method
- // ((BasicLookAndFeel)laf).playSound(audioAction);
- // }
- // }
- // }
- // }
- //
- // /**
- // * This class contains listener that watches for all the mouse
- // * events that can possibly invoke popup on the component
- // */
- // class AWTEventHelper implements AWTEventListener,PrivilegedAction {
- // AWTEventHelper() {
- // super();
- // AccessController.doPrivileged(this);
- // }
- //
- // public Object run() {
- // Toolkit tk = Toolkit.getDefaultToolkit();
- // if(invocator == null) {
- // tk.addAWTEventListener(this, AWTEvent.MOUSE_EVENT_MASK);
- // } else {
- // tk.removeAWTEventListener(invocator);
- // }
- // // Return value not used.
- // return null;
- // }
- //
- // public void eventDispatched(AWTEvent ev) {
- // int eventID = ev.getID();
- // if((eventID & AWTEvent.MOUSE_EVENT_MASK) != 0) {
- // MouseEvent me = (MouseEvent) ev;
- // if(me.isPopupTrigger()) {
- // MenuElement[] elems = MenuSelectionManager
- // .defaultManager()
- // .getSelectedPath();
- // if(elems != null && elems.length != 0) {
- // return;
- // // We shall not interfere with already opened menu
- // }
- // Object c = me.getSource();
- // JComponent src = null;
- // if(c instanceof JComponent) {
- // src = (JComponent) c;
- // } else if(c instanceof BasicSplitPaneDivider) {
- // // Special case - if user clicks on divider we must
- // // invoke popup from the SplitPane
- // src = (JComponent)
- // ((BasicSplitPaneDivider)c).getParent();
- // }
- // if(src != null) {
- // if(src.getComponentPopupMenu() != null) {
- // Point pt = src.getPopupLocation(me);
- // if(pt == null) {
- // pt = me.getPoint();
- // pt = SwingUtilities.convertPoint((Component)c,
- // pt, src);
- // }
- // src.getComponentPopupMenu().show(src, pt.x, pt.y);
- // me.consume();
- // }
- // }
- // }
- // }
- // /* Activate a JInternalFrame if necessary. */
- // if (eventID == MouseEvent.MOUSE_PRESSED) {
- // Object object = ev.getSource();
- // if (!(object instanceof Component)) {
- // return;
- // }
- // Component component = (Component)object;
- // if (component != null) {
- // Component parent = component;
- // while (parent != null && !(parent instanceof Window)) {
- // if (parent instanceof JInternalFrame) {
- // // Activate the frame.
- // try { ((JInternalFrame)parent).setSelected(true); }
- // catch (PropertyVetoException e1) { }
- // }
- // parent = parent.getParent();
- // }
- // }
- // }
- // }
- // }
- //
- @Override
- public String getName() {
- return "SwingJS";
- }
-
- @Override
- public String getID() {
- return "SwingJS";
- }
-
- @Override
- public String getDescription() {
- return "SwingJS L&F";
- }
-
- @Override
- public boolean isNativeLookAndFeel() {
- return true;
- }
-
- @Override
- public boolean isSupportedLookAndFeel() {
- return true;
- }
-}
+/*
+ * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package swingjs.plaf;
+
+//import jsjava.awt.AWTEvent;
+import jsjava.awt.Color;
+import jsjava.awt.Dimension;
+import jsjava.awt.Font;
+import jsjavax.swing.DefaultListCellRenderer;
+import jsjavax.swing.JTextField;
+//import jsjava.awt.Component;
+//import jsjava.awt.Dimension;
+//import jsjava.awt.Font;
+//import jsjava.awt.Point;
+//import jsjava.awt.Toolkit;
+//import jsjava.awt.Window;
+//import jsjava.awt.event.AWTEventListener;
+//import jsjava.awt.event.ActionEvent;
+//import jsjava.awt.event.KeyEvent;
+//import jsjava.awt.event.MouseEvent;
+//import jsjava.beans.PropertyChangeEvent;
+//import jsjava.beans.PropertyChangeListener;
+//import jsjava.beans.PropertyVetoException;
+//import java.io.BufferedInputStream;
+//import java.io.ByteArrayInputStream;
+//import java.io.ByteArrayOutputStream;
+//import java.io.IOException;
+//import java.io.InputStream;
+////import java.io.Serializable;
+//import jsjava.security.AccessController;
+//import jsjava.security.PrivilegedAction;
+//import java.util.HashSet;
+//import jsjava.util.Locale;
+//
+////import jsjavax.sound.sampled.AudioInputStream;
+////import jsjavax.sound.sampled.AudioSystem;
+////import jsjavax.sound.sampled.Clip;
+////import jsjavax.sound.sampled.DataLine;
+////import jsjavax.sound.sampled.LineEvent;
+////import jsjavax.sound.sampled.LineListener;
+//import jsjavax.swing.AbstractAction;
+//import jsjavax.swing.Action;
+//import jsjavax.swing.ActionMap;
+//import jsjavax.swing.DefaultListCellRenderer;
+//import jsjavax.swing.JComponent;
+////import jsjavax.swing.JInternalFrame;
+//import jsjavax.swing.JTextField;
+//import jsjavax.swing.LookAndFeel;
+//import jsjavax.swing.MenuElement;
+//import jsjavax.swing.MenuSelectionManager;
+//import jsjavax.swing.SwingUtilities;
+import jsjavax.swing.LookAndFeel;
+import jsjavax.swing.UIDefaults;
+//import jsjavax.swing.UIManager;
+//import jsjavax.swing.border.BevelBorder;
+//import jsjavax.swing.plaf.ActionMapUIResource;
+//import jsjavax.swing.plaf.BorderUIResource;
+import jsjavax.swing.plaf.ColorUIResource;
+import jsjavax.swing.plaf.FontUIResource;
+//import jsjavax.swing.plaf.ComponentUI;
+import jsjavax.swing.plaf.DimensionUIResource;
+//import jsjavax.swing.plaf.DimensionUIResource;
+//import jsjavax.swing.plaf.InsetsUIResource;
+////import jsjavax.swing.plaf.basic.popupMenuUI;
+////import jsjavax.swing.plaf.basic.BasicSplitPaneDivider;
+//import jsjavax.swing.text.DefaultEditorKit;
+//
+//import jssun.awt.AppContext;
+//import jssun.swing.SwingUtilities2;
+////import jssun.swing.SwingLazyValue;
+//
+import jsjavax.swing.plaf.InsetsUIResource;
+import jssun.swing.SwingLazyValue;
+
+/**
+ * A base class to use in creating a look and feel for Swing.
+ *
+ * Each of the {@code ComponentUI}s provided by {@code BasicLookAndFeel} derives + * its behavior from the defaults table. Unless otherwise noted each of the + * {@code ComponentUI} implementations in this package document the set of + * defaults they use. Unless otherwise noted the defaults are installed at the + * time {@code installUI} is invoked, and follow the recommendations outlined in + * {@code LookAndFeel} for installing defaults. + *
+ * Warning: Serialized objects of this class will not be
+ * compatible with future Swing releases. The current serialization support is
+ * appropriate for short term storage or RMI between applications running the
+ * same version of Swing. As of 1.4, support for long term storage of all
+ * JavaBeansTM has been added to the
+ * java.beans
package. Please see {@link java.beans.XMLEncoder}.
+ *
+ * @author unattributed
+ */
+public class HTML5LookAndFeel extends LookAndFeel {
+ // /**
+ // * Whether or not the developer has created a JPopupMenu.
+ // */
+ // static boolean needsEventHelper;
+ //
+ // /**
+ // * Lock used when manipulating clipPlaying.
+ // */
+ // private transient Object audioLock = new Object();
+ // /**
+ // * The Clip that is currently playing (set in AudioAction).
+ // */
+ // private Clip clipPlaying;
+ //
+ // AWTEventHelper invocator = null;
+ //
+ // /*
+ // * Listen for our AppContext being disposed
+ // */
+ // private PropertyChangeListener disposer = null;
+ //
+ /**
+ * Returns the look and feel defaults. The returned {@code UIDefaults} is
+ * populated by invoking, in order, {@code initClassDefaults},
+ * {@code initSystemColorDefaults} and {@code initComponentDefaults}.
+ *
+ * While this method is public, it should only be invoked by the + * {@code UIManager} when the look and feel is set as the current look and + * feel and after {@code initialize} has been invoked. + * + * @return the look and feel defaults + * + * @see #initClassDefaults + * @see #initSystemColorDefaults + * @see #initComponentDefaults + */ + public UIDefaults getDefaults() { + UIDefaults table = new UIDefaults(610, 0.75f); + + initClassDefaults(table); + initSystemColorDefaults(table); + initComponentDefaults(table); + + return table; + } + + /** + * {@inheritDoc} + */ + public void initialize() { + // if (needsEventHelper) { + // installAWTEventListener(); + // } + } + + void installAWTEventListener() { + // if (invocator == null) { + // invocator = new AWTEventHelper(); + // needsEventHelper = true; + // + // // Add a PropertyChangeListener to our AppContext so we're alerted + // // when the AppContext is disposed(), at which time this laf should + // // be uninitialize()d. + // disposer = new PropertyChangeListener() { + // public void propertyChange(PropertyChangeEvent prpChg) { + // uninitialize(); + // } + // }; + // AppContext.getAppContext().addPropertyChangeListener( + // AppContext.GUI_DISPOSED, + // disposer); + // } + } + + /** + * {@inheritDoc} + */ + public void uninitialize() { + // AppContext context = AppContext.getAppContext(); + // synchronized (popupMenuUI.MOUSE_GRABBER_KEY) { + // Object grabber = context.get(popupMenuUI.MOUSE_GRABBER_KEY); + // if (grabber != null) { + // ((popupMenuUI.MouseGrabber)grabber).uninstall(); + // } + // } + // synchronized (popupMenuUI.MENU_KEYBOARD_HELPER_KEY) { + // Object helper = + // context.get(popupMenuUI.MENU_KEYBOARD_HELPER_KEY); + // if (helper != null) { + // ((popupMenuUI.MenuKeyboardHelper)helper).uninstall(); + // } + // } + // + // if(invocator != null) { + // AccessController.doPrivileged(invocator); + // invocator = null; + // } + // + // if (disposer != null) { + // // Note that we're likely calling removePropertyChangeListener() + // // during the course of AppContext.firePropertyChange(). + // // However, EventListenerAggreggate has code to safely modify + // // the list under such circumstances. + // context.removePropertyChangeListener(AppContext.GUI_DISPOSED, + // disposer); + // disposer = null; + // } + } + + /** + * Populates {@code table} with mappings from {@code uiClassID} to the fully + * qualified name of the ui class. The value for a particular + * {@code uiClassID} is {@code "jsjavax.swing.plaf.basic.Basic + uiClassID"}. + * For example, the value for the {@code uiClassID} {@code TreeUI} is + * {@code "jsjavax.swing.plaf.basic.BasicTreeUI"}. + * + * @param table + * the {@code UIDefaults} instance the entries are added to + * @throws NullPointerException + * if {@code table} is {@code null} + * + * @see jsjavax.swing.LookAndFeel + * @see #getDefaults + */ + protected void initClassDefaults(UIDefaults table) { + final String packageName = "swingjs.plaf."; + Object[] uiDefaults = { + /**/ "ButtonUI", packageName + "JSButtonUI", + /**/ "CheckBoxUI", packageName + "JSCheckBoxUI", + "ColorChooserUI", packageName + "JSColorChooserUI", + /**/ "FormattedTextFieldUI", packageName + "JSFormattedTextFieldUI", + /**/ "MenuBarUI", packageName + "JSMenuBarUI", + /**/ "MenuUI", packageName + "JSMenuUI", + /**/ "MenuItemUI", packageName + "JSMenuItemUI", + /**/ "CheckBoxMenuItemUI", packageName + "JSCheckBoxMenuItemUI", + /**/ "RadioButtonMenuItemUI", packageName + "JSRadioButtonMenuItemUI", + /**/ "RadioButtonUI", packageName + "JSRadioButtonUI", + /**/ "ToggleButtonUI", packageName + "JSToggleButtonUI", + /**/ "PopupMenuUI", packageName + "JSPopupMenuUI", + "ProgressBarUI", packageName + "JSProgressBarUI", + /**/ "ScrollBarUI", packageName + "JSScrollBarUI", + /**/ "ScrollPaneUI", packageName + "JSScrollPaneUI", + "SplitPaneUI", packageName + "JSSplitPaneUI", + /**/ "SliderUI", packageName + "JSSliderUI", + /**/ "SeparatorUI", packageName + "JSSeparatorUI", + "SpinnerUI", packageName + "JSSpinnerUI", + /**/ "ToolBarSeparatorUI", packageName + "JSToolBarSeparatorUI", + /**/ "PopupMenuSeparatorUI", packageName + "JSPopupMenuSeparatorUI", + "TabbedPaneUI", packageName + "JSTabbedPaneUI", + /**/ "TextAreaUI", packageName + "JSTextAreaUI", + /**/ "TextFieldUI", packageName + "JSTextFieldUI", + /**/ "PasswordFieldUI", packageName + "JSPasswordFieldUI", + "TextPaneUI", packageName + "JSTextPaneUI", + "EditorPaneUI", packageName + "JSEditorPaneUI", + "TreeUI", packageName + "JSTreeUI", + /**/ "LabelUI", packageName + "JSLabelUI", + "ListUI", packageName + "JSListUI", + "ToolBarUI", packageName + "JSToolBarUI", + "ToolTipUI", packageName + "JSToolTipUI", + /**/ "ComboBoxUI", packageName + "JSComboBoxUI", + "TableUI", packageName + "JSTableUI", + "TableHeaderUI", packageName + "JSTableHeaderUI", + "InternalFrameUI", packageName + "JSInternalFrameUI", + "DesktopPaneUI", packageName + "JSDesktopPaneUI", + "DesktopIconUI", packageName + "JSDesktopIconUI", + "OptionPaneUI", packageName + "JSOptionPaneUI", + /**/ "PanelUI", packageName + "JSPanelUI", + /**/ "ViewportUI", packageName + "JSViewportUI", + /**/ "RootPaneUI", packageName + "JSRootPaneUI" + }; + + table.putDefaults(uiDefaults); + } + + /** + * Populates {@code table} with system colors. This creates an array of + * {@code name-color} pairs and invokes {@code loadSystemColors}. + *
+ * The name is a {@code String} that corresponds to the name of one of the + * static {@code SystemColor} fields in the {@code SystemColor} class. A + * name-color pair is created for every such {@code SystemColor} field. + *
+ * The {@code color} corresponds to a hex {@code String} as understood by + * {@code Color.decode}. For example, one of the {@code name-color} pairs is + * {@code "desktop"-"#005C5C"}. This corresponds to the {@code SystemColor} + * field {@code desktop}, with a color value of {@code new Color(0x005C5C)}. + *
+ * The following shows two of the {@code name-color} pairs: + * + *
+ * String[] nameColorPairs = new String[] { "desktop", "#005C5C", "activeCaption", + * "#000080" }; + * loadSystemColors(table, nameColorPairs, isNativeLookAndFeel()); + *+ * + * As previously stated, this invokes {@code loadSystemColors} with the + * supplied {@code table} and {@code name-color} pair array. The last argument + * to {@code loadSystemColors} indicates whether the value of the field in + * {@code SystemColor} should be used. This method passes the value of + * {@code isNativeLookAndFeel()} as the last argument to + * {@code loadSystemColors}. + * + * @param table + * the {@code UIDefaults} object the values are added to + * @throws NullPointerException + * if {@code table} is {@code null} + * + * @see jsjava.awt.SystemColor + * @see #getDefaults + * @see #loadSystemColors + */ + protected void initSystemColorDefaults(UIDefaults table) { + String[] defaultSystemColors = { + + +// "desktop", "#005C5C", /* +// * Color of the +// * desktop +// * background +// */ +// "activeCaption", "#000080", /* +// * Color for captions (title bars) when they are +// * active. +// */ +// "activeCaptionText", "#FFFFFF", /* +// * Text color for text in captions (title +// * bars). +// */ +// "activeCaptionBorder", "#C0C0C0", /* +// * Border color for caption (title bar) +// * window borders. +// */ +// "inactiveCaption", "#808080", /* +// * Color for captions (title bars) when not +// * active. +// */ +// "inactiveCaptionText", "#C0C0C0", /* +// * Text color for text in inactive +// * captions (title bars). +// */ +// "inactiveCaptionBorder", "#C0C0C0", /* +// * Border color for inactive caption +// * (title bar) window borders. +// */ + // plaf.metal.OceanTheme + "window", "#FFFFFF", /* Default color for the interior of windows */ +// "windowBorder", "#000000", /* ??? */ + "windowText", "#333333", /* ??? */ + "menu", "#C0C0C0", /* Background color for menus */ + "menuText", "#333333", /* Text color for menus */ + "text", "#C0C0C0", /* Text background color */ + "textText", "#333333", /* Text foreground color */ +// "textHighlight", "#000080", /* Text background color when selected */ +// "textHighlightText", "#FFFFFF", /* Text color when selected */ +// "textInactiveText", "#808080", /* Text color when disabled */ + "control", "#EEEEEE", // SECONDARY3 Default color for controls (buttons, sliders, etc) + "controlText", "#333333", // Default color for text in controls +// "controlHighlight", "#C0C0C0", /* +// * Specular highlight (opposite of the +// * shadow) +// */ +// "controlLtHighlight", "#FFFFFF", /* Highlight color for controls */ +// "controlShadow", "#808080", /* Shadow color for controls */ +// "controlDkShadow", "#000000", /* Dark shadow color for controls */ + "scrollbar", "#E0E0E0", /* Scrollbar background (usually the "track") */ + "info", "#FFFFE1", /* ??? */ + "infoText", "#000000" /* ??? */ + }; + + loadSystemColors(table, defaultSystemColors, isNativeLookAndFeel()); + } + + /** + * Populates {@code table} with the {@code name-color} pairs in + * {@code systemColors}. Refer to {@link #initSystemColorDefaults(UIDefaults)} + * for details on the format of {@code systemColors}. + *
+ * An entry is added to {@code table} for each of the {@code name-color} pairs + * in {@code systemColors}. The entry key is the {@code name} of the + * {@code name-color} pair. + *
+ * The value of the entry corresponds to the {@code color} of the + * {@code name-color} pair. The value of the entry is calculated in one of two + * ways. With either approach the value is always a {@code ColorUIResource}. + *
+ * If {@code useNative} is {@code false}, the {@code color} is created by + * using {@code Color.decode} to convert the {@code String} into a + * {@code Color}. If {@code decode} can not convert the {@code String} into a + * {@code Color} ({@code NumberFormatException} is thrown) then a + * {@code ColorUIResource} of black is used. + *
+ * If {@code useNative} is {@code true}, the {@code color} is the value of the
+ * field in {@code SystemColor} with the same name as the {@code name} of the
+ * {@code name-color} pair. If the field is not valid, a
+ * {@code ColorUIResource} of black is used.
+ *
+ * @param table
+ * the {@code UIDefaults} object the values are added to
+ * @param systemColors
+ * array of {@code name-color} pairs as described in
+ * {@link #initSystemColorDefaults(UIDefaults)}
+ * @param useNative
+ * whether the color is obtained from {@code SystemColor} or
+ * {@code Color.decode}
+ * @throws NullPointerException
+ * if {@code systemColors} is {@code null}; or {@code systemColors}
+ * is not empty, and {@code table} is {@code null}; or one of the
+ * names of the {@code name-color} pairs is {@code null}; or
+ * {@code useNative} is {@code false} and one of the {@code colors}
+ * of the {@code name-color} pairs is {@code null}
+ * @throws ArrayIndexOutOfBoundsException
+ * if {@code useNative} is {@code false} and
+ * {@code systemColors.length} is odd
+ *
+ * @see #initSystemColorDefaults(jsjavax.swing.UIDefaults)
+ * @see jsjava.awt.SystemColor
+ * @see jsjava.awt.Color#decode(String)
+ */
+ protected void loadSystemColors(UIDefaults table, String[] systemColors,
+ boolean useNative) {
+ /*
+ * PENDING(hmuller) We don't load the system colors below because they're
+ * not reliable. Hopefully we'll be able to do better in a future version of
+ * AWT.
+ */
+// if (useNative) {
+// for (int i = 0; i < systemColors.length; i += 2) {
+// Color color = Color.black;
+// // try {
+// // String name = systemColors[i];
+// // color = (Color)(SystemColor.class.getField(name).get(null));
+// // } catch (Exception e) {
+// // }
+// table.put(systemColors[i], new ColorUIResource(color));
+// }
+// } else {
+ for (int i = 0; i < systemColors.length; i += 2) {
+ Color color = Color.black;
+ try {
+ color = Color.decode(systemColors[i + 1]);
+ } catch (NumberFormatException e) {
+ e.printStackTrace();
+ }
+ table.put(systemColors[i], new ColorUIResource(color));
+ }
+// }
+ }
+
+ /**
+ * Initialize the defaults table with the name of the ResourceBundle used for
+ * getting localized defaults. Also initialize the default locale used when no
+ * locale is passed into UIDefaults.get(). The default locale should generally
+ * not be relied upon. It is here for compatability with releases prior to
+ * 1.4.
+ */
+ private void initResourceBundle(UIDefaults table) {
+ // table.setDefaultLocale( Locale.getDefault() );
+ // table.addResourceBundle(
+ // "com.sun.swing.internal.plaf.basic.resources.basic" );
+ }
+
+ /**
+ * Populates {@code table} with the defaults for the basic look and feel.
+ *
+ * @param table
+ * the {@code UIDefaults} to add the values to
+ * @throws NullPointerException
+ * if {@code table} is {@code null}
+ */
+ protected void initComponentDefaults(UIDefaults table) {
+
+ initResourceBundle(table);
+
+ // // *** Shared Integers
+ // Integer fiveHundred = new Integer(500);
+
+ // *** Shared Longs
+ Long oneThousand = new Long(1000);
+
+ // *** Shared Fonts
+ Integer twelve = new Integer(12);
+ Integer fontPlain = new Integer(Font.PLAIN);
+ // Integer fontBold = new Integer(Font.BOLD);
+ // Object dialogPlain12 = new SwingLazyValue(
+ // "jsjavax.swing.plaf.FontUIResource",
+ // null,
+ // new Object[] {Font.DIALOG, fontPlain, twelve});
+ Object serifPlain12 = new FontUIResource(Font.SERIF, Font.PLAIN, 12);
+ Object sansSerifPlain12 = new FontUIResource(Font.SANS_SERIF, Font.PLAIN,
+ 12);
+ Object dialogPlain12 = new FontUIResource(Font.DIALOG, Font.PLAIN, 12);
+ Object monospacedPlain12 = new FontUIResource(Font.MONOSPACED, Font.PLAIN, 12);
+ // Object dialogBold12 = new SwingLazyValue(
+ // "jsjavax.swing.plaf.FontUIResource",
+ // null,
+ // new Object[] {Font.DIALOG, fontBold, twelve});
+ //
+
+ // *** Shared Colors
+ // ColorUIResource red = new ColorUIResource(Color.red);
+ ColorUIResource black = new ColorUIResource(Color.black);
+ ColorUIResource white = new ColorUIResource(Color.white);
+ // ColorUIResource yellow = new ColorUIResource(Color.yellow);
+ ColorUIResource gray = new ColorUIResource(Color.gray);
+ // ColorUIResource lightGray = new ColorUIResource(Color.lightGray);
+ ColorUIResource darkGray = new ColorUIResource(Color.darkGray);
+ // ColorUIResource scrollBarTrack = new ColorUIResource(224, 224, 224);
+
+ Color control = table.getColor("control");
+ // Color controlDkShadow = table.getColor("controlDkShadow");
+ // Color controlHighlight = table.getColor("controlHighlight");
+ // Color controlLtHighlight = table.getColor("controlLtHighlight");
+ // Color controlShadow = table.getColor("controlShadow");
+ Color controlText = table.getColor("controlText");
+ Color menu = table.getColor("menu");
+ Color menuText = table.getColor("menuText");
+ // Color textHighlight = table.getColor("textHighlight");
+ // Color textHighlightText = table.getColor("textHighlightText");
+ // Color textInactiveText = table.getColor("textInactiveText");
+ Color textText = table.getColor("textText");
+ Color window = table.getColor("window");
+
+ // *** Shared Insets
+ InsetsUIResource zeroInsets = new InsetsUIResource(0, 0, 0, 0);
+ InsetsUIResource twoInsets = new InsetsUIResource(2, 2, 2, 2);
+ InsetsUIResource threeInsets = new InsetsUIResource(3, 3, 3, 3);
+
+ // // *** Shared Borders
+ // Object marginBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders$MarginBorder");
+ // Object etchedBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.BorderUIResource",
+ // "getEtchedBorderUIResource");
+ // Object loweredBevelBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.BorderUIResource",
+ // "getLoweredBevelBorderUIResource");
+ //
+ // Object popupMenuBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getInternalFrameBorder");
+ //
+ // Object blackLineBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.BorderUIResource",
+ // "getBlackLineBorderUIResource");
+ // Object focusCellHighlightBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.BorderUIResource$LineBorderUIResource",
+ // null,
+ // new Object[] {yellow});
+ //
+ // Object noFocusBorder = new
+ // BorderUIResource.EmptyBorderUIResource(1,1,1,1);
+ //
+ // Object tableHeaderBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.BorderUIResource$BevelBorderUIResource",
+ // null,
+ // new Object[] { new Integer(BevelBorder.RAISED),
+ // controlLtHighlight,
+ // control,
+ // controlDkShadow,
+ // controlShadow });
+ //
+ //
+ // // *** Button value objects
+ //
+ // Object buttonBorder =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getButtonBorder");
+ //
+ // Object buttonToggleBorder =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getToggleButtonBorder");
+ //
+ // Object radioButtonBorder =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getRadioButtonBorder");
+ //
+ // // *** FileChooser / FileView value objects
+ //
+ // Object newFolderIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/NewFolder.gif");
+ // Object upFolderIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/UpFolder.gif");
+ // Object homeFolderIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/HomeFolder.gif");
+ // Object detailsViewIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/DetailsView.gif");
+ // Object listViewIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/ListView.gif");
+ // Object directoryIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/Directory.gif");
+ // Object fileIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/File.gif");
+ // Object computerIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/Computer.gif");
+ // Object hardDriveIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/HardDrive.gif");
+ // Object floppyDriveIcon = SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/FloppyDrive.gif");
+ //
+ //
+ // // *** InternalFrame value objects
+ //
+ // Object internalFrameBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getInternalFrameBorder");
+ //
+ // // *** List value objects
+ //
+ Object listCellRendererActiveValue = new UIDefaults.ActiveValue() {
+ public Object createValue(UIDefaults table) {
+ return new DefaultListCellRenderer.UIResource();
+ }
+ };
+
+ //
+ // // *** Menus value objects
+ //
+ // Object menuBarBorder =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getMenuBarBorder");
+ //
+ // Object menuItemCheckIcon =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "getMenuItemCheckIcon");
+ //
+ // Object menuItemArrowIcon =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "getMenuItemArrowIcon");
+ //
+ //
+ // Object menuArrowIcon =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "getMenuArrowIcon");
+ //
+ // Object checkBoxIcon =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "getCheckBoxIcon");
+ //
+ // Object radioButtonIcon =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "getRadioButtonIcon");
+ //
+ // Object checkBoxMenuItemIcon =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "getCheckBoxMenuItemIcon");
+ //
+ // Object radioButtonMenuItemIcon =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "getRadioButtonMenuItemIcon");
+ //
+ // Object menuItemAcceleratorDelimiter = new String("+");
+ //
+ // // *** OptionPane value objects
+ //
+ // Object optionPaneMinimumSize = new DimensionUIResource(262, 90);
+ //
+ Integer zero = new Integer(0);
+ // Object zeroBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.BorderUIResource$EmptyBorderUIResource",
+ // new Object[] {zero, zero, zero, zero});
+ //
+ // Integer ten = new Integer(10);
+ // Object optionPaneBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.BorderUIResource$EmptyBorderUIResource",
+ // new Object[] {ten, ten, twelve, ten});
+ //
+ // Object optionPaneButtonAreaBorder = new SwingLazyValue(
+ // "jsjavax.swing.plaf.BorderUIResource$EmptyBorderUIResource",
+ // new Object[] {new Integer(6), zero, zero, zero});
+ //
+ //
+ // // *** ProgessBar value objects
+ //
+ // Object progressBarBorder =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getProgressBarBorder");
+ //
+ // // ** ScrollBar value objects
+ //
+ // Object minimumThumbSize = new DimensionUIResource(8,8);
+ // Object maximumThumbSize = new DimensionUIResource(4096,4096);
+ //
+ // // ** Slider value objects
+ //
+ // Object sliderFocusInsets = twoInsets;
+ //
+ // Object toolBarSeparatorSize = new DimensionUIResource( 10, 10 );
+ //
+ //
+ // // *** SplitPane value objects
+ //
+ // Object splitPaneBorder =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getSplitPaneBorder");
+ // Object splitPaneDividerBorder =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getSplitPaneDividerBorder");
+ //
+ // ** TabbedBane value objects
+
+ Object tabbedPaneTabInsets = new InsetsUIResource(0, 4, 1, 4);
+
+ Object tabbedPaneTabPadInsets = new InsetsUIResource(2, 2, 2, 1);
+
+ Object tabbedPaneTabAreaInsets = new InsetsUIResource(3, 2, 0, 2);
+
+ Object tabbedPaneContentBorderInsets = new InsetsUIResource(2, 2, 3, 3);
+
+ // *** Text value objects
+
+ // Object textFieldBorder =
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicBorders",
+ // "getTextFieldBorder");
+ //
+ Object editorMargin = threeInsets;
+
+ // Object caretBlinkRate = fiveHundred;
+ Integer four = new Integer(4);
+ //
+ // Object[] allAuditoryCues = new Object[] {
+ // "CheckBoxMenuItem.commandSound",
+ // "InternalFrame.closeSound",
+ // "InternalFrame.maximizeSound",
+ // "InternalFrame.minimizeSound",
+ // "InternalFrame.restoreDownSound",
+ // "InternalFrame.restoreUpSound",
+ // "MenuItem.commandSound",
+ // "OptionPane.errorSound",
+ // "OptionPane.informationSound",
+ // "OptionPane.questionSound",
+ // "OptionPane.warningSound",
+ // "PopupMenu.popupSound",
+ // "RadioButtonMenuItem.commandSound"};
+ //
+ // Object[] noAuditoryCues = new Object[] {"mute"};
+ //
+ // // *** Component Defaults
+ //
+ Object[] defaults = {
+ "*.font",
+ dialogPlain12,
+ "*.background",
+ control,
+ "*.foreground",
+ controlText,
+ // *** Auditory Feedback
+ // "AuditoryCues.cueList", allAuditoryCues,
+ // "AuditoryCues.allAuditoryCues", allAuditoryCues,
+ // "AuditoryCues.noAuditoryCues", noAuditoryCues,
+ // // this key defines which of the various cues to render.
+ // // L&Fs that want auditory feedback NEED to override playList.
+ // "AuditoryCues.playList", null,
+
+ // *** Buttons
+ // "Button.defaultButtonFollowsFocus", Boolean.TRUE,
+ // "Button.font", dialogPlain12,
+ // "Button.background", control,
+ // "Button.foreground", controlText,
+ // "Button.shadow", controlShadow,
+ // "Button.darkShadow", controlDkShadow,
+ // "Button.light", controlHighlight,
+ // "Button.highlight", controlLtHighlight,
+ // "Button.border", buttonBorder,
+ "Button.margin",
+ new InsetsUIResource(2, 14, 2, 14),
+ // "Button.textIconGap", four,
+ // "Button.textShiftOffset", zero,
+ // "Button.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
+ // "SPACE", "pressed",
+ // "released SPACE", "released",
+ // "ENTER", "pressed",
+ // "released ENTER", "released"
+ // }),
+ //
+ // "ToggleButton.font", dialogPlain12,
+ // "ToggleButton.background", control,
+ // "ToggleButton.foreground", controlText,
+ // "ToggleButton.shadow", controlShadow,
+ // "ToggleButton.darkShadow", controlDkShadow,
+ // "ToggleButton.light", controlHighlight,
+ // "ToggleButton.highlight", controlLtHighlight,
+ // "ToggleButton.border", buttonToggleBorder,
+ "ToggleButton.margin",
+ new InsetsUIResource(2, 14, 2, 14),
+ "ToggleButton.textIconGap",
+ four,
+ "ToggleButton.textShiftOffset",
+ zero,
+ // "ToggleButton.focusInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "SPACE", "pressed",
+ // "released SPACE", "released"
+ // }),
+ //
+ // "RadioButton.font", dialogPlain12,
+ // "RadioButton.background", control,
+ // "RadioButton.foreground", controlText,
+ // "RadioButton.shadow", controlShadow,
+ // "RadioButton.darkShadow", controlDkShadow,
+ // "RadioButton.light", controlHighlight,
+ // "RadioButton.highlight", controlLtHighlight,
+ // "RadioButton.border", radioButtonBorder,
+ "RadioButton.margin",
+ twoInsets,
+ "RadioButton.textIconGap",
+ four,
+ "RadioButton.textShiftOffset",
+ zero,
+ // "RadioButton.icon", radioButtonIcon,
+ // "RadioButton.focusInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "SPACE", "pressed",
+ // "released SPACE", "released",
+ // "RETURN", "pressed"
+ // }),
+ //
+ // "CheckBox.font", dialogPlain12,
+ // "CheckBox.background", control,
+ // "CheckBox.foreground", controlText,
+ // "CheckBox.border", radioButtonBorder,
+ "CheckBox.margin",
+ twoInsets,
+ "CheckBox.textIconGap",
+ four,
+ "CheckBox.textShiftOffset",
+ zero,
+ // "CheckBox.icon", checkBoxIcon,
+ // "CheckBox.focusInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "SPACE", "pressed",
+ // "released SPACE", "released"
+ // }),
+ // "FileChooser.useSystemExtensionHiding", Boolean.FALSE,
+
+ // *** ColorChooser
+ // "ColorChooser.font", dialogPlain12,
+ // "ColorChooser.background", control,
+ // "ColorChooser.foreground", controlText,
+ //
+ "ColorChooser.swatchesSwatchSize",
+ new Dimension(10, 10),
+ "ColorChooser.swatchesRecentSwatchSize",
+ new Dimension(10, 10),
+ "ColorChooser.swatchesDefaultRecentColor",
+ control,
+
+ // *** ComboBox
+ "ComboBox.font",
+ sansSerifPlain12,
+ "ComboBox.background",
+ window,
+ "ComboBox.foreground",
+ textText,
+ // "ComboBox.buttonBackground", control,
+ // "ComboBox.buttonShadow", controlShadow,
+ // "ComboBox.buttonDarkShadow", controlDkShadow,
+ // "ComboBox.buttonHighlight", controlLtHighlight,
+ // "ComboBox.selectionBackground", textHighlight,
+ // "ComboBox.selectionForeground", textHighlightText,
+ // "ComboBox.disabledBackground", control,
+ // "ComboBox.disabledForeground", textInactiveText,
+ "ComboBox.timeFactor",
+ oneThousand,
+ "ComboBox.isEnterSelectablePopup",
+ Boolean.FALSE,
+ // "ComboBox.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ESCAPE", "hidePopup",
+ // "PAGE_UP", "pageUpPassThrough",
+ // "PAGE_DOWN", "pageDownPassThrough",
+ // "HOME", "homePassThrough",
+ // "END", "endPassThrough",
+ // "ENTER", "enterPressed"
+ // }),
+ //
+ // *** FileChooser
+
+ // "FileChooser.newFolderIcon", newFolderIcon,
+ // "FileChooser.upFolderIcon", upFolderIcon,
+ // "FileChooser.homeFolderIcon", homeFolderIcon,
+ // "FileChooser.detailsViewIcon", detailsViewIcon,
+ // "FileChooser.listViewIcon", listViewIcon,
+ "FileChooser.readOnly",
+ Boolean.FALSE,
+ // "FileChooser.usesSingleFilePane", Boolean.FALSE,
+ // "FileChooser.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ESCAPE", "cancelSelection",
+ // "F5", "refresh",
+ // }),
+ //
+ // "FileView.directoryIcon", directoryIcon,
+ // "FileView.fileIcon", fileIcon,
+ // "FileView.computerIcon", computerIcon,
+ // "FileView.hardDriveIcon", hardDriveIcon,
+ // "FileView.floppyDriveIcon", floppyDriveIcon,
+
+ // *** InternalFrame
+ // "InternalFrame.titleFont", dialogBold12,
+ // "InternalFrame.borderColor", control,
+ // "InternalFrame.borderShadow", controlShadow,
+ // "InternalFrame.borderDarkShadow", controlDkShadow,
+ // "InternalFrame.borderHighlight", controlLtHighlight,
+ // "InternalFrame.borderLight", controlHighlight,
+ // "InternalFrame.border", internalFrameBorder,
+ // "InternalFrame.icon", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/JavaCup16.png"),
+ //
+ // /* Default frame icons are undefined for Basic. */
+ // "InternalFrame.maximizeIcon",
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "createEmptyFrameIcon"),
+ // "InternalFrame.minimizeIcon",
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "createEmptyFrameIcon"),
+ // "InternalFrame.iconifyIcon",
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "createEmptyFrameIcon"),
+ // "InternalFrame.closeIcon",
+ // new SwingLazyValue(
+ // "jsjavax.swing.plaf.basic.BasicIconFactory",
+ // "createEmptyFrameIcon"),
+ // // InternalFrame Auditory Cue Mappings
+ // "InternalFrame.closeSound", null,
+ // "InternalFrame.maximizeSound", null,
+ // "InternalFrame.minimizeSound", null,
+ // "InternalFrame.restoreDownSound", null,
+ // "InternalFrame.restoreUpSound", null,
+ //
+ // "InternalFrame.activeTitleBackground", table.get("activeCaption"),
+ // "InternalFrame.activeTitleForeground",
+ // table.get("activeCaptionText"),
+ // "InternalFrame.inactiveTitleBackground",
+ // table.get("inactiveCaption"),
+ // "InternalFrame.inactiveTitleForeground",
+ // table.get("inactiveCaptionText"),
+ // "InternalFrame.windowBindings", new Object[] {
+ // "shift ESCAPE", "showSystemMenu",
+ // "ctrl SPACE", "showSystemMenu",
+ // "ESCAPE", "hideSystemMenu"},
+ //
+ // "InternalFrameTitlePane.iconifyButtonOpacity", Boolean.TRUE,
+ // "InternalFrameTitlePane.maximizeButtonOpacity", Boolean.TRUE,
+ // "InternalFrameTitlePane.closeButtonOpacity", Boolean.TRUE,
+
+ // "DesktopIcon.border", internalFrameBorder,
+ //
+ // "Desktop.minOnScreenInsets", threeInsets,
+ // "Desktop.background", table.get("desktop"),
+ // "Desktop.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ctrl F5", "restore",
+ // "ctrl F4", "close",
+ // "ctrl F7", "move",
+ // "ctrl F8", "resize",
+ // "RIGHT", "right",
+ // "KP_RIGHT", "right",
+ // "shift RIGHT", "shrinkRight",
+ // "shift KP_RIGHT", "shrinkRight",
+ // "LEFT", "left",
+ // "KP_LEFT", "left",
+ // "shift LEFT", "shrinkLeft",
+ // "shift KP_LEFT", "shrinkLeft",
+ // "UP", "up",
+ // "KP_UP", "up",
+ // "shift UP", "shrinkUp",
+ // "shift KP_UP", "shrinkUp",
+ // "DOWN", "down",
+ // "KP_DOWN", "down",
+ // "shift DOWN", "shrinkDown",
+ // "shift KP_DOWN", "shrinkDown",
+ // "ESCAPE", "escape",
+ // "ctrl F9", "minimize",
+ // "ctrl F10", "maximize",
+ // "ctrl F6", "selectNextFrame",
+ // "ctrl TAB", "selectNextFrame",
+ // "ctrl alt F6", "selectNextFrame",
+ // "shift ctrl alt F6", "selectPreviousFrame",
+ // "ctrl F12", "navigateNext",
+ // "shift ctrl F12", "navigatePrevious"
+ // }),
+
+ // *** Label
+ // "Label.font", dialogPlain12,
+ // "Label.background", control,
+ // "Label.foreground", controlText,
+ // "Label.disabledForeground", white,
+ // "Label.disabledShadow", controlShadow,
+ "Label.border",
+ null,
+
+ // *** List
+ // "List.font", dialogPlain12,
+ "List.background",
+ window,
+ "List.foreground",
+ textText,
+ // "List.selectionBackground", textHighlight,
+ // "List.selectionForeground", textHighlightText,
+ // "List.noFocusBorder", noFocusBorder,
+ // "List.focusCellHighlightBorder", focusCellHighlightBorder,
+ // "List.dropLineColor", controlShadow,
+ // "List.border", null,
+ "List.cellRenderer",
+ listCellRendererActiveValue,
+ "List.timeFactor",
+ oneThousand,
+ // "List.focusInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ctrl C", "copy",
+ // "ctrl V", "paste",
+ // "ctrl X", "cut",
+ // "COPY", "copy",
+ // "PASTE", "paste",
+ // "CUT", "cut",
+ // "control INSERT", "copy",
+ // "shift INSERT", "paste",
+ // "shift DELETE", "cut",
+ // "UP", "selectPreviousRow",
+ // "KP_UP", "selectPreviousRow",
+ // "shift UP", "selectPreviousRowExtendSelection",
+ // "shift KP_UP", "selectPreviousRowExtendSelection",
+ // "ctrl shift UP", "selectPreviousRowExtendSelection",
+ // "ctrl shift KP_UP", "selectPreviousRowExtendSelection",
+ // "ctrl UP", "selectPreviousRowChangeLead",
+ // "ctrl KP_UP", "selectPreviousRowChangeLead",
+ // "DOWN", "selectNextRow",
+ // "KP_DOWN", "selectNextRow",
+ // "shift DOWN", "selectNextRowExtendSelection",
+ // "shift KP_DOWN", "selectNextRowExtendSelection",
+ // "ctrl shift DOWN", "selectNextRowExtendSelection",
+ // "ctrl shift KP_DOWN", "selectNextRowExtendSelection",
+ // "ctrl DOWN", "selectNextRowChangeLead",
+ // "ctrl KP_DOWN", "selectNextRowChangeLead",
+ // "LEFT", "selectPreviousColumn",
+ // "KP_LEFT", "selectPreviousColumn",
+ // "shift LEFT", "selectPreviousColumnExtendSelection",
+ // "shift KP_LEFT", "selectPreviousColumnExtendSelection",
+ // "ctrl shift LEFT", "selectPreviousColumnExtendSelection",
+ // "ctrl shift KP_LEFT", "selectPreviousColumnExtendSelection",
+ // "ctrl LEFT", "selectPreviousColumnChangeLead",
+ // "ctrl KP_LEFT", "selectPreviousColumnChangeLead",
+ // "RIGHT", "selectNextColumn",
+ // "KP_RIGHT", "selectNextColumn",
+ // "shift RIGHT", "selectNextColumnExtendSelection",
+ // "shift KP_RIGHT", "selectNextColumnExtendSelection",
+ // "ctrl shift RIGHT", "selectNextColumnExtendSelection",
+ // "ctrl shift KP_RIGHT", "selectNextColumnExtendSelection",
+ // "ctrl RIGHT", "selectNextColumnChangeLead",
+ // "ctrl KP_RIGHT", "selectNextColumnChangeLead",
+ // "HOME", "selectFirstRow",
+ // "shift HOME", "selectFirstRowExtendSelection",
+ // "ctrl shift HOME", "selectFirstRowExtendSelection",
+ // "ctrl HOME", "selectFirstRowChangeLead",
+ // "END", "selectLastRow",
+ // "shift END", "selectLastRowExtendSelection",
+ // "ctrl shift END", "selectLastRowExtendSelection",
+ // "ctrl END", "selectLastRowChangeLead",
+ // "PAGE_UP", "scrollUp",
+ // "shift PAGE_UP", "scrollUpExtendSelection",
+ // "ctrl shift PAGE_UP", "scrollUpExtendSelection",
+ // "ctrl PAGE_UP", "scrollUpChangeLead",
+ // "PAGE_DOWN", "scrollDown",
+ // "shift PAGE_DOWN", "scrollDownExtendSelection",
+ // "ctrl shift PAGE_DOWN", "scrollDownExtendSelection",
+ // "ctrl PAGE_DOWN", "scrollDownChangeLead",
+ // "ctrl A", "selectAll",
+ // "ctrl SLASH", "selectAll",
+ // "ctrl BACK_SLASH", "clearSelection",
+ // "SPACE", "addToSelection",
+ // "ctrl SPACE", "toggleAndAnchor",
+ // "shift SPACE", "extendTo",
+ // "ctrl shift SPACE", "moveSelectionTo"
+ // }),
+ // "List.focusInputMap.RightToLeft",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "LEFT", "selectNextColumn",
+ // "KP_LEFT", "selectNextColumn",
+ // "shift LEFT", "selectNextColumnExtendSelection",
+ // "shift KP_LEFT", "selectNextColumnExtendSelection",
+ // "ctrl shift LEFT", "selectNextColumnExtendSelection",
+ // "ctrl shift KP_LEFT", "selectNextColumnExtendSelection",
+ // "ctrl LEFT", "selectNextColumnChangeLead",
+ // "ctrl KP_LEFT", "selectNextColumnChangeLead",
+ // "RIGHT", "selectPreviousColumn",
+ // "KP_RIGHT", "selectPreviousColumn",
+ // "shift RIGHT", "selectPreviousColumnExtendSelection",
+ // "shift KP_RIGHT", "selectPreviousColumnExtendSelection",
+ // "ctrl shift RIGHT", "selectPreviousColumnExtendSelection",
+ // "ctrl shift KP_RIGHT", "selectPreviousColumnExtendSelection",
+ // "ctrl RIGHT", "selectPreviousColumnChangeLead",
+ // "ctrl KP_RIGHT", "selectPreviousColumnChangeLead",
+ // }),
+ //
+ // *** Menus
+ "MenuBar.font",
+ dialogPlain12,
+ "MenuBar.background",
+ menu,
+ "MenuBar.foreground",
+ menuText,
+ // "MenuBar.shadow", controlShadow,
+ // "MenuBar.highlight", controlLtHighlight,
+ // "MenuBar.border", menuBarBorder,
+ // "MenuBar.windowBindings", new Object[] {
+ // "F10", "takeFocus" },
+ //
+ "MenuItem.font", dialogPlain12,
+ //"MenuItem.acceleratorFont", dialogPlain12,
+ "MenuItem.background",
+ menu,
+ "MenuItem.foreground",
+ menuText,
+ // "MenuItem.selectionForeground", textHighlightText,
+ // "MenuItem.selectionBackground", textHighlight,
+ // "MenuItem.disabledForeground", null,
+ // "MenuItem.acceleratorForeground", menuText,
+ // "MenuItem.acceleratorSelectionForeground", textHighlightText,
+ // "MenuItem.acceleratorDelimiter", menuItemAcceleratorDelimiter,
+ // "MenuItem.border", marginBorder,
+ // "MenuItem.borderPainted", Boolean.FALSE,
+ "MenuItem.margin",
+ twoInsets,
+ // "MenuItem.checkIcon", menuItemCheckIcon,
+ // "MenuItem.arrowIcon", menuItemArrowIcon,
+ // "MenuItem.commandSound", null,
+ //
+ "RadioButtonMenuItem.font", dialogPlain12,
+ // "RadioButtonMenuItem.acceleratorFont", dialogPlain12,
+ "RadioButtonMenuItem.background",
+ menu,
+ "RadioButtonMenuItem.foreground",
+ menuText,
+ // "RadioButtonMenuItem.selectionForeground", textHighlightText,
+ // "RadioButtonMenuItem.selectionBackground", textHighlight,
+ // "RadioButtonMenuItem.disabledForeground", null,
+ // "RadioButtonMenuItem.acceleratorForeground", menuText,
+ // "RadioButtonMenuItem.acceleratorSelectionForeground",
+ // textHighlightText,
+ // "RadioButtonMenuItem.border", marginBorder,
+ // "RadioButtonMenuItem.borderPainted", Boolean.FALSE,
+ "RadioButtonMenuItem.margin",
+ twoInsets,
+ // "RadioButtonMenuItem.checkIcon", radioButtonMenuItemIcon,
+ // "RadioButtonMenuItem.arrowIcon", menuItemArrowIcon,
+ // "RadioButtonMenuItem.commandSound", null,
+
+ "CheckBoxMenuItem.font", dialogPlain12,
+ // "CheckBoxMenuItem.acceleratorFont", dialogPlain12,
+ "CheckBoxMenuItem.background",
+ menu,
+ "CheckBoxMenuItem.foreground",
+ menuText,
+ // "CheckBoxMenuItem.selectionForeground", textHighlightText,
+ // "CheckBoxMenuItem.selectionBackground", textHighlight,
+ // "CheckBoxMenuItem.disabledForeground", null,
+ // "CheckBoxMenuItem.acceleratorForeground", menuText,
+ // "CheckBoxMenuItem.acceleratorSelectionForeground", textHighlightText,
+ // "CheckBoxMenuItem.border", marginBorder,
+ // "CheckBoxMenuItem.borderPainted", Boolean.FALSE,
+ "CheckBoxMenuItem.margin",
+ twoInsets,
+ // "CheckBoxMenuItem.checkIcon", checkBoxMenuItemIcon,
+ // "CheckBoxMenuItem.arrowIcon", menuItemArrowIcon,
+ // "CheckBoxMenuItem.commandSound", null,
+
+ // "Menu.font", dialogPlain12,
+ // "Menu.acceleratorFont", dialogPlain12,
+ "Menu.background",
+ menu,
+ "Menu.foreground",
+ menuText,
+ // "Menu.selectionForeground", textHighlightText,
+ // "Menu.selectionBackground", textHighlight,
+ // "Menu.disabledForeground", null,
+ // "Menu.acceleratorForeground", menuText,
+ // "Menu.acceleratorSelectionForeground", textHighlightText,
+ // "Menu.border", marginBorder,
+ // "Menu.borderPainted", Boolean.FALSE,
+ "Menu.margin",
+ twoInsets,
+ // "Menu.checkIcon", menuItemCheckIcon,
+ // "Menu.arrowIcon", menuArrowIcon,
+ // "Menu.menuPopupOffsetX", new Integer(0),
+ // "Menu.menuPopupOffsetY", new Integer(0),
+ // "Menu.submenuPopupOffsetX", new Integer(0),
+ // "Menu.submenuPopupOffsetY", new Integer(0),
+ // "Menu.shortcutKeys", new int[] {KeyEvent.ALT_MASK},
+ // "Menu.crossMenuMnemonic", Boolean.TRUE,
+ // Menu.cancelMode affects the cancel menu action behaviour;
+ // currently supports:
+ // "hideLastSubmenu" (default)
+ // hides the last open submenu,
+ // and move selection one step back
+ // "hideMenuTree"
+ // resets selection and
+ // hide the entire structure of open menu and its submenus
+ // "Menu.cancelMode", "hideLastSubmenu",
+
+ // Menu.preserveTopLevelSelection affects
+ // the cancel menu action behaviour
+ // if set to true then top level menu selection
+ // will be preserved when the last popup was cancelled;
+ // the menu itself will be unselect with the next cancel action
+ // "Menu.preserveTopLevelSelection", Boolean.FALSE,
+
+ // PopupMenu
+ // "PopupMenu.font", dialogPlain12,
+ "PopupMenu.background",
+ menu,
+ "PopupMenu.foreground",
+ menuText,
+ // "PopupMenu.border", popupMenuBorder,
+ // Internal Frame Auditory Cue Mappings
+ // "PopupMenu.popupSound", null,
+ // // These window InputMap bindings are used when the Menu is
+ // // selected.
+ // "PopupMenu.selectedWindowInputMapBindings", new Object[] {
+ // "ESCAPE", "cancel",
+ // "DOWN", "selectNext",
+ // "KP_DOWN", "selectNext",
+ // "UP", "selectPrevious",
+ // "KP_UP", "selectPrevious",
+ // "LEFT", "selectParent",
+ // "KP_LEFT", "selectParent",
+ // "RIGHT", "selectChild",
+ // "KP_RIGHT", "selectChild",
+ // "ENTER", "return",
+ // "ctrl ENTER", "return",
+ // "SPACE", "return"
+ // },
+ // "PopupMenu.selectedWindowInputMapBindings.RightToLeft", new Object[]
+ // {
+ // "LEFT", "selectChild",
+ // "KP_LEFT", "selectChild",
+ // "RIGHT", "selectParent",
+ // "KP_RIGHT", "selectParent",
+ // },
+ "PopupMenu.consumeEventOnClose",
+ Boolean.FALSE,
+
+ // *** OptionPane
+ // You can additionaly define OptionPane.messageFont which will
+ // dictate the fonts used for the message, and
+ // OptionPane.buttonFont, which defines the font for the buttons.
+ // "OptionPane.font", dialogPlain12,
+ // "OptionPane.background", control,
+ // "OptionPane.foreground", controlText,
+ "OptionPane.messageForeground",
+ controlText,
+ // "OptionPane.border", optionPaneBorder,
+ // "OptionPane.messageAreaBorder", zeroBorder,
+ // "OptionPane.buttonAreaBorder", optionPaneButtonAreaBorder,
+ // "OptionPane.minimumSize", optionPaneMinimumSize,
+ // "OptionPane.errorIcon", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/Error.gif"),
+ // "OptionPane.informationIcon", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/Inform.gif"),
+ // "OptionPane.warningIcon", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/Warn.gif"),
+ // "OptionPane.questionIcon", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/Question.gif"),
+ // "OptionPane.windowBindings", new Object[] {
+ // "ESCAPE", "close" },
+ // // OptionPane Auditory Cue Mappings
+ // "OptionPane.errorSound", null,
+ // "OptionPane.informationSound", null, // Info and Plain
+ // "OptionPane.questionSound", null,
+ // "OptionPane.warningSound", null,
+ // "OptionPane.buttonClickThreshhold", fiveHundred,
+
+ // *** Panel
+ "Panel.font",
+ dialogPlain12,
+ "Panel.background",
+ control,
+ "Panel.foreground",
+ textText,
+
+ // *** ProgressBar
+ // "ProgressBar.font", dialogPlain12,
+ // "ProgressBar.foreground", textHighlight,
+ // "ProgressBar.background", control,
+ // "ProgressBar.selectionForeground", control,
+ // "ProgressBar.selectionBackground", textHighlight,
+ // "ProgressBar.border", progressBarBorder,
+ "ProgressBar.cellLength",
+ new Integer(1),
+ "ProgressBar.cellSpacing",
+ zero,
+ "ProgressBar.repaintInterval",
+ new Integer(50),
+ "ProgressBar.cycleTime",
+ new Integer(3000),
+ "ProgressBar.horizontalSize",
+ new DimensionUIResource(146, 12),
+ "ProgressBar.verticalSize",
+ new DimensionUIResource(12, 146),
+
+ // *** Separator
+ // "Separator.shadow", controlShadow, // DEPRECATED - DO NOT USE!
+ // "Separator.highlight", controlLtHighlight, // DEPRECATED - DO NOT
+ // USE!
+ //
+ // "Separator.background", controlLtHighlight,
+ // "Separator.foreground", controlShadow,
+
+ // *** ScrollBar/ScrollPane/Viewport
+ // "ScrollBar.background", scrollBarTrack,
+ "ScrollBar.foreground",
+ control,
+ // "ScrollBar.track", table.get("scrollbar"),
+ // "ScrollBar.trackHighlight", controlDkShadow,
+ // "ScrollBar.thumb", control,
+ // "ScrollBar.thumbHighlight", controlLtHighlight,
+ // "ScrollBar.thumbDarkShadow", controlDkShadow,
+ // "ScrollBar.thumbShadow", controlShadow,
+ // "ScrollBar.border", null,
+ // "ScrollBar.minimumThumbSize", minimumThumbSize,
+ // "ScrollBar.maximumThumbSize", maximumThumbSize,
+ // "ScrollBar.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "RIGHT", "positiveUnitIncrement",
+ // "KP_RIGHT", "positiveUnitIncrement",
+ // "DOWN", "positiveUnitIncrement",
+ // "KP_DOWN", "positiveUnitIncrement",
+ // "PAGE_DOWN", "positiveBlockIncrement",
+ // "LEFT", "negativeUnitIncrement",
+ // "KP_LEFT", "negativeUnitIncrement",
+ // "UP", "negativeUnitIncrement",
+ // "KP_UP", "negativeUnitIncrement",
+ // "PAGE_UP", "negativeBlockIncrement",
+ // "HOME", "minScroll",
+ // "END", "maxScroll"
+ // }),
+ // "ScrollBar.ancestorInputMap.RightToLeft",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "RIGHT", "negativeUnitIncrement",
+ // "KP_RIGHT", "negativeUnitIncrement",
+ // "LEFT", "positiveUnitIncrement",
+ // "KP_LEFT", "positiveUnitIncrement",
+ // }),
+ "ScrollBar.width",
+ new Integer(16),
+
+ // "ScrollPane.font", dialogPlain12,
+ // "ScrollPane.background", control,
+ // "ScrollPane.foreground", controlText,
+ // "ScrollPane.border", textFieldBorder,
+ // "ScrollPane.viewportBorder", null,
+ // "ScrollPane.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "RIGHT", "unitScrollRight",
+ // "KP_RIGHT", "unitScrollRight",
+ // "DOWN", "unitScrollDown",
+ // "KP_DOWN", "unitScrollDown",
+ // "LEFT", "unitScrollLeft",
+ // "KP_LEFT", "unitScrollLeft",
+ // "UP", "unitScrollUp",
+ // "KP_UP", "unitScrollUp",
+ // "PAGE_UP", "scrollUp",
+ // "PAGE_DOWN", "scrollDown",
+ // "ctrl PAGE_UP", "scrollLeft",
+ // "ctrl PAGE_DOWN", "scrollRight",
+ // "ctrl HOME", "scrollHome",
+ // "ctrl END", "scrollEnd"
+ // }),
+ // "ScrollPane.ancestorInputMap.RightToLeft",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ctrl PAGE_UP", "scrollRight",
+ // "ctrl PAGE_DOWN", "scrollLeft",
+ // }),
+ //
+ // "Viewport.font", dialogPlain12,
+ // "Viewport.background", control,
+ "Viewport.foreground",
+ textText,
+
+ // *** Slider
+ // "Slider.font", dialogPlain12,
+ // "Slider.foreground", control,
+ // "Slider.background", control,
+ // "Slider.highlight", controlLtHighlight,
+ // "Slider.tickColor", Color.black,
+ // "Slider.shadow", controlShadow,
+ // "Slider.focus", controlDkShadow,
+ // "Slider.border", null,
+ "Slider.horizontalSize",
+ new Dimension(200, 21),
+ "Slider.verticalSize",
+ new Dimension(21, 200),
+ "Slider.minimumHorizontalSize",
+ new Dimension(36, 21),
+ "Slider.minimumVerticalSize",
+ new Dimension(21, 36),
+ // "Slider.focusInsets", sliderFocusInsets,
+ // "Slider.focusInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "RIGHT", "positiveUnitIncrement",
+ // "KP_RIGHT", "positiveUnitIncrement",
+ // "DOWN", "negativeUnitIncrement",
+ // "KP_DOWN", "negativeUnitIncrement",
+ // "PAGE_DOWN", "negativeBlockIncrement",
+ // "LEFT", "negativeUnitIncrement",
+ // "KP_LEFT", "negativeUnitIncrement",
+ // "UP", "positiveUnitIncrement",
+ // "KP_UP", "positiveUnitIncrement",
+ // "PAGE_UP", "positiveBlockIncrement",
+ // "HOME", "minScroll",
+ // "END", "maxScroll"
+ // }),
+ // "Slider.focusInputMap.RightToLeft",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "RIGHT", "negativeUnitIncrement",
+ // "KP_RIGHT", "negativeUnitIncrement",
+ // "LEFT", "positiveUnitIncrement",
+ // "KP_LEFT", "positiveUnitIncrement",
+ // }),
+ //
+ // *** Spinner
+ "Spinner.font",
+ monospacedPlain12,
+ // "Spinner.background", control,
+ // "Spinner.foreground", control,
+ // "Spinner.border", textFieldBorder,
+ // "Spinner.arrowButtonBorder", null,
+ // "Spinner.arrowButtonInsets", null,
+ "Spinner.arrowButtonSize",
+ new Dimension(16, 5),
+ // "Spinner.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "UP", "increment",
+ // "KP_UP", "increment",
+ // "DOWN", "decrement",
+ // "KP_DOWN", "decrement",
+ // }),
+ // "Spinner.editorBorderPainted", Boolean.FALSE,
+ "Spinner.editorAlignment",
+ JTextField.TRAILING,
+
+ // *** SplitPane
+ "SplitPane.background",
+ control,
+ // "SplitPane.highlight", controlLtHighlight,
+ // "SplitPane.shadow", controlShadow,
+ // "SplitPane.darkShadow", controlDkShadow,
+ // "SplitPane.border", splitPaneBorder,
+ "SplitPane.dividerSize",
+ new Integer(7),
+ // "SplitPaneDivider.border", splitPaneDividerBorder,
+ "SplitPaneDivider.draggingColor",
+ darkGray,
+ // "SplitPane.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "UP", "negativeIncrement",
+ // "DOWN", "positiveIncrement",
+ // "LEFT", "negativeIncrement",
+ // "RIGHT", "positiveIncrement",
+ // "KP_UP", "negativeIncrement",
+ // "KP_DOWN", "positiveIncrement",
+ // "KP_LEFT", "negativeIncrement",
+ // "KP_RIGHT", "positiveIncrement",
+ // "HOME", "selectMin",
+ // "END", "selectMax",
+ // "F8", "startResize",
+ // "F6", "toggleFocus",
+ // "ctrl TAB", "focusOutForward",
+ // "ctrl shift TAB", "focusOutBackward"
+ // }),
+ //
+ // *** TabbedPane
+ // "TabbedPane.font", dialogPlain12,
+ // "TabbedPane.background", control,
+ // "TabbedPane.foreground", controlText,
+ // "TabbedPane.highlight", controlLtHighlight,
+ // "TabbedPane.light", controlHighlight,
+ // "TabbedPane.shadow", controlShadow,
+ // "TabbedPane.darkShadow", controlDkShadow,
+ "TabbedPane.selected",
+ null,
+ // "TabbedPane.focus", controlText,
+ "TabbedPane.textIconGap",
+ four,
+
+ // Causes tabs to be painted on top of the content area border.
+ // The amount of overlap is then controlled by tabAreaInsets.bottom,
+ // which is zero by default
+ "TabbedPane.tabsOverlapBorder",
+ Boolean.FALSE,
+ // "TabbedPane.selectionFollowsFocus", Boolean.TRUE,
+
+ "TabbedPane.labelShift",
+ 1,
+ "TabbedPane.selectedLabelShift",
+ -1,
+ "TabbedPane.tabInsets",
+ tabbedPaneTabInsets,
+ "TabbedPane.selectedTabPadInsets",
+ tabbedPaneTabPadInsets,
+ "TabbedPane.tabAreaInsets",
+ tabbedPaneTabAreaInsets,
+ "TabbedPane.contentBorderInsets",
+ tabbedPaneContentBorderInsets,
+ "TabbedPane.tabRunOverlay",
+ new Integer(2),
+ // "TabbedPane.tabsOpaque", Boolean.TRUE,
+ // "TabbedPane.contentOpaque", Boolean.TRUE,
+ // "TabbedPane.focusInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "RIGHT", "navigateRight",
+ // "KP_RIGHT", "navigateRight",
+ // "LEFT", "navigateLeft",
+ // "KP_LEFT", "navigateLeft",
+ // "UP", "navigateUp",
+ // "KP_UP", "navigateUp",
+ // "DOWN", "navigateDown",
+ // "KP_DOWN", "navigateDown",
+ // "ctrl DOWN", "requestFocusForVisibleComponent",
+ // "ctrl KP_DOWN", "requestFocusForVisibleComponent",
+ // }),
+ // "TabbedPane.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ctrl PAGE_DOWN", "navigatePageDown",
+ // "ctrl PAGE_UP", "navigatePageUp",
+ // "ctrl UP", "requestFocus",
+ // "ctrl KP_UP", "requestFocus",
+ // }),
+ //
+ //
+ // *** Table
+ // "Table.font", dialogPlain12,
+ // "Table.foreground", controlText, // cell text color
+ "Table.background",
+ window, // cell background color
+ // "Table.selectionForeground", textHighlightText,
+ // "Table.selectionBackground", textHighlight,
+ // "Table.dropLineColor", controlShadow,
+ "Table.dropLineShortColor",
+ black,
+ "Table.gridColor",
+ gray, // grid line color
+ "Table.focusCellBackground",
+ window,
+ "Table.focusCellForeground",
+ controlText,
+ // "Table.focusCellHighlightBorder", focusCellHighlightBorder,
+ // "Table.scrollPaneBorder", loweredBevelBorder,
+ // "Table.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ctrl C", "copy",
+ // "ctrl V", "paste",
+ // "ctrl X", "cut",
+ // "COPY", "copy",
+ // "PASTE", "paste",
+ // "CUT", "cut",
+ // "control INSERT", "copy",
+ // "shift INSERT", "paste",
+ // "shift DELETE", "cut",
+ // "RIGHT", "selectNextColumn",
+ // "KP_RIGHT", "selectNextColumn",
+ // "shift RIGHT", "selectNextColumnExtendSelection",
+ // "shift KP_RIGHT", "selectNextColumnExtendSelection",
+ // "ctrl shift RIGHT", "selectNextColumnExtendSelection",
+ // "ctrl shift KP_RIGHT", "selectNextColumnExtendSelection",
+ // "ctrl RIGHT", "selectNextColumnChangeLead",
+ // "ctrl KP_RIGHT", "selectNextColumnChangeLead",
+ // "LEFT", "selectPreviousColumn",
+ // "KP_LEFT", "selectPreviousColumn",
+ // "shift LEFT", "selectPreviousColumnExtendSelection",
+ // "shift KP_LEFT", "selectPreviousColumnExtendSelection",
+ // "ctrl shift LEFT", "selectPreviousColumnExtendSelection",
+ // "ctrl shift KP_LEFT", "selectPreviousColumnExtendSelection",
+ // "ctrl LEFT", "selectPreviousColumnChangeLead",
+ // "ctrl KP_LEFT", "selectPreviousColumnChangeLead",
+ // "DOWN", "selectNextRow",
+ // "KP_DOWN", "selectNextRow",
+ // "shift DOWN", "selectNextRowExtendSelection",
+ // "shift KP_DOWN", "selectNextRowExtendSelection",
+ // "ctrl shift DOWN", "selectNextRowExtendSelection",
+ // "ctrl shift KP_DOWN", "selectNextRowExtendSelection",
+ // "ctrl DOWN", "selectNextRowChangeLead",
+ // "ctrl KP_DOWN", "selectNextRowChangeLead",
+ // "UP", "selectPreviousRow",
+ // "KP_UP", "selectPreviousRow",
+ // "shift UP", "selectPreviousRowExtendSelection",
+ // "shift KP_UP", "selectPreviousRowExtendSelection",
+ // "ctrl shift UP", "selectPreviousRowExtendSelection",
+ // "ctrl shift KP_UP", "selectPreviousRowExtendSelection",
+ // "ctrl UP", "selectPreviousRowChangeLead",
+ // "ctrl KP_UP", "selectPreviousRowChangeLead",
+ // "HOME", "selectFirstColumn",
+ // "shift HOME", "selectFirstColumnExtendSelection",
+ // "ctrl shift HOME", "selectFirstRowExtendSelection",
+ // "ctrl HOME", "selectFirstRow",
+ // "END", "selectLastColumn",
+ // "shift END", "selectLastColumnExtendSelection",
+ // "ctrl shift END", "selectLastRowExtendSelection",
+ // "ctrl END", "selectLastRow",
+ // "PAGE_UP", "scrollUpChangeSelection",
+ // "shift PAGE_UP", "scrollUpExtendSelection",
+ // "ctrl shift PAGE_UP", "scrollLeftExtendSelection",
+ // "ctrl PAGE_UP", "scrollLeftChangeSelection",
+ // "PAGE_DOWN", "scrollDownChangeSelection",
+ // "shift PAGE_DOWN", "scrollDownExtendSelection",
+ // "ctrl shift PAGE_DOWN", "scrollRightExtendSelection",
+ // "ctrl PAGE_DOWN", "scrollRightChangeSelection",
+ // "TAB", "selectNextColumnCell",
+ // "shift TAB", "selectPreviousColumnCell",
+ // "ENTER", "selectNextRowCell",
+ // "shift ENTER", "selectPreviousRowCell",
+ // "ctrl A", "selectAll",
+ // "ctrl SLASH", "selectAll",
+ // "ctrl BACK_SLASH", "clearSelection",
+ // "ESCAPE", "cancel",
+ // "F2", "startEditing",
+ // "SPACE", "addToSelection",
+ // "ctrl SPACE", "toggleAndAnchor",
+ // "shift SPACE", "extendTo",
+ // "ctrl shift SPACE", "moveSelectionTo",
+ // "F8", "focusHeader"
+ // }),
+ // "Table.ancestorInputMap.RightToLeft",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "RIGHT", "selectPreviousColumn",
+ // "KP_RIGHT", "selectPreviousColumn",
+ // "shift RIGHT", "selectPreviousColumnExtendSelection",
+ // "shift KP_RIGHT", "selectPreviousColumnExtendSelection",
+ // "ctrl shift RIGHT", "selectPreviousColumnExtendSelection",
+ // "ctrl shift KP_RIGHT", "selectPreviousColumnExtendSelection",
+ // "ctrl RIGHT", "selectPreviousColumnChangeLead",
+ // "ctrl KP_RIGHT", "selectPreviousColumnChangeLead",
+ // "LEFT", "selectNextColumn",
+ // "KP_LEFT", "selectNextColumn",
+ // "shift LEFT", "selectNextColumnExtendSelection",
+ // "shift KP_LEFT", "selectNextColumnExtendSelection",
+ // "ctrl shift LEFT", "selectNextColumnExtendSelection",
+ // "ctrl shift KP_LEFT", "selectNextColumnExtendSelection",
+ // "ctrl LEFT", "selectNextColumnChangeLead",
+ // "ctrl KP_LEFT", "selectNextColumnChangeLead",
+ // "ctrl PAGE_UP", "scrollRightChangeSelection",
+ // "ctrl PAGE_DOWN", "scrollLeftChangeSelection",
+ // "ctrl shift PAGE_UP", "scrollRightExtendSelection",
+ // "ctrl shift PAGE_DOWN", "scrollLeftExtendSelection",
+ // }),
+ // "Table.ascendingSortIcon", new SwingLazyValue(
+ // "sun.swing.icon.SortArrowIcon",
+ // null, new Object[] { Boolean.TRUE,
+ // "Table.sortIconColor" }),
+ // "Table.descendingSortIcon", new SwingLazyValue(
+ // "sun.swing.icon.SortArrowIcon",
+ // null, new Object[] { Boolean.FALSE,
+ // "Table.sortIconColor" }),
+ // "Table.sortIconColor", controlShadow,
+ //
+ // "TableHeader.font", dialogPlain12,
+ // "TableHeader.foreground", controlText, // header text color
+ // "TableHeader.background", control, // header background
+ // "TableHeader.cellBorder", tableHeaderBorder,
+
+ // Support for changing the background/border of the currently
+ // selected header column when the header has the keyboard focus.
+ // "TableHeader.focusCellBackground", table.getColor("text"), // like
+ // text component bg
+ // "TableHeader.focusCellForeground", null,
+ // "TableHeader.focusCellBorder", null,
+ // "TableHeader.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "SPACE", "toggleSortOrder",
+ // "LEFT", "selectColumnToLeft",
+ // "KP_LEFT", "selectColumnToLeft",
+ // "RIGHT", "selectColumnToRight",
+ // "KP_RIGHT", "selectColumnToRight",
+ // "alt LEFT", "moveColumnLeft",
+ // "alt KP_LEFT", "moveColumnLeft",
+ // "alt RIGHT", "moveColumnRight",
+ // "alt KP_RIGHT", "moveColumnRight",
+ // "alt shift LEFT", "resizeLeft",
+ // "alt shift KP_LEFT", "resizeLeft",
+ // "alt shift RIGHT", "resizeRight",
+ // "alt shift KP_RIGHT", "resizeRight",
+ // "ESCAPE", "focusTable",
+ // }),
+ //
+ // *** Text
+ "TextField.font",
+ sansSerifPlain12,
+ "TextField.background",
+ window,
+ "TextField.foreground",
+ textText,
+ // "TextField.shadow", controlShadow,
+ // "TextField.darkShadow", controlDkShadow,
+ // "TextField.light", controlHighlight,
+ // "TextField.highlight", controlLtHighlight,
+ // "TextField.inactiveForeground", textInactiveText,
+ // "TextField.inactiveBackground", control,
+ // "TextField.selectionBackground", textHighlight,
+ // "TextField.selectionForeground", textHighlightText,
+ // "TextField.caretForeground", textText,
+ // "TextField.caretBlinkRate", caretBlinkRate,
+ // "TextField.border", textFieldBorder,
+ "TextField.margin",
+ zeroInsets,
+
+ "FormattedTextField.font",
+ sansSerifPlain12,
+ "FormattedTextField.background",
+ window,
+ "FormattedTextField.foreground",
+ textText,
+ // "FormattedTextField.inactiveForeground", textInactiveText,
+ // "FormattedTextField.inactiveBackground", control,
+ // "FormattedTextField.selectionBackground", textHighlight,
+ // "FormattedTextField.selectionForeground", textHighlightText,
+ "FormattedTextField.caretForeground",
+ textText,
+ // "FormattedTextField.caretBlinkRate", caretBlinkRate,
+ // "FormattedTextField.border", textFieldBorder,
+ "FormattedTextField.margin",
+ zeroInsets,
+ // "FormattedTextField.focusInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ctrl C", DefaultEditorKit.copyAction,
+ // "ctrl V", DefaultEditorKit.pasteAction,
+ // "ctrl X", DefaultEditorKit.cutAction,
+ // "COPY", DefaultEditorKit.copyAction,
+ // "PASTE", DefaultEditorKit.pasteAction,
+ // "CUT", DefaultEditorKit.cutAction,
+ // "control INSERT", DefaultEditorKit.copyAction,
+ // "shift INSERT", DefaultEditorKit.pasteAction,
+ // "shift DELETE", DefaultEditorKit.cutAction,
+ // "shift LEFT", DefaultEditorKit.selectionBackwardAction,
+ // "shift KP_LEFT", DefaultEditorKit.selectionBackwardAction,
+ // "shift RIGHT", DefaultEditorKit.selectionForwardAction,
+ // "shift KP_RIGHT", DefaultEditorKit.selectionForwardAction,
+ // "ctrl LEFT", DefaultEditorKit.previousWordAction,
+ // "ctrl KP_LEFT", DefaultEditorKit.previousWordAction,
+ // "ctrl RIGHT", DefaultEditorKit.nextWordAction,
+ // "ctrl KP_RIGHT", DefaultEditorKit.nextWordAction,
+ // "ctrl shift LEFT", DefaultEditorKit.selectionPreviousWordAction,
+ // "ctrl shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction,
+ // "ctrl shift RIGHT", DefaultEditorKit.selectionNextWordAction,
+ // "ctrl shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction,
+ // "ctrl A", DefaultEditorKit.selectAllAction,
+ // "HOME", DefaultEditorKit.beginLineAction,
+ // "END", DefaultEditorKit.endLineAction,
+ // "shift HOME", DefaultEditorKit.selectionBeginLineAction,
+ // "shift END", DefaultEditorKit.selectionEndLineAction,
+ // "BACK_SPACE", DefaultEditorKit.deletePrevCharAction,
+ // "shift BACK_SPACE", DefaultEditorKit.deletePrevCharAction,
+ // "ctrl H", DefaultEditorKit.deletePrevCharAction,
+ // "DELETE", DefaultEditorKit.deleteNextCharAction,
+ // "ctrl DELETE", DefaultEditorKit.deleteNextWordAction,
+ // "ctrl BACK_SPACE", DefaultEditorKit.deletePrevWordAction,
+ // "RIGHT", DefaultEditorKit.forwardAction,
+ // "LEFT", DefaultEditorKit.backwardAction,
+ // "KP_RIGHT", DefaultEditorKit.forwardAction,
+ // "KP_LEFT", DefaultEditorKit.backwardAction,
+ // "ENTER", JTextField.notifyAction,
+ // "ctrl BACK_SLASH", "unselect",
+ // "control shift O", "toggle-componentOrientation",
+ // "ESCAPE", "reset-field-edit",
+ // "UP", "increment",
+ // "KP_UP", "increment",
+ // "DOWN", "decrement",
+ // "KP_DOWN", "decrement",
+ // }),
+ //
+ "PasswordField.font",
+ monospacedPlain12,
+ "PasswordField.background",
+ window,
+ "PasswordField.foreground",
+ textText,
+ // "PasswordField.inactiveForeground", textInactiveText,
+ // "PasswordField.inactiveBackground", control,
+ // "PasswordField.selectionBackground", textHighlight,
+ // "PasswordField.selectionForeground", textHighlightText,
+ // "PasswordField.caretForeground", textText,
+ // "PasswordField.caretBlinkRate", caretBlinkRate,
+ // "PasswordField.border", textFieldBorder,
+ "PasswordField.margin",
+ zeroInsets,
+ "PasswordField.echoChar",
+ '*',
+
+ "TextArea.font",
+ monospacedPlain12,
+ "TextArea.background",
+ window,
+ "TextArea.foreground",
+ textText,
+ // "TextArea.inactiveForeground", textInactiveText,
+ // "TextArea.selectionBackground", textHighlight,
+ // "TextArea.selectionForeground", textHighlightText,
+ // "TextArea.caretForeground", textText,
+ // "TextArea.caretBlinkRate", caretBlinkRate,
+ // "TextArea.border", marginBorder,
+ "TextArea.margin",
+ zeroInsets,
+
+ "TextPane.font",
+ serifPlain12,
+ "TextPane.background",
+ white,
+ "TextPane.foreground",
+ textText,
+ // "TextPane.selectionBackground", textHighlight,
+ // "TextPane.selectionForeground", textHighlightText,
+ // "TextPane.caretForeground", textText,
+ // "TextPane.caretBlinkRate", caretBlinkRate,
+ // "TextPane.inactiveForeground", textInactiveText,
+ // "TextPane.border", marginBorder,
+ "TextPane.margin",
+ editorMargin,
+
+ "EditorPane.font",
+ serifPlain12,
+ "EditorPane.background",
+ white,
+ "EditorPane.foreground",
+ textText,
+ // "EditorPane.selectionBackground", textHighlight,
+ // "EditorPane.selectionForeground", textHighlightText,
+ // "EditorPane.caretForeground", textText,
+ // "EditorPane.caretBlinkRate", caretBlinkRate,
+ // "EditorPane.inactiveForeground", textInactiveText,
+ // "EditorPane.border", marginBorder,
+ "EditorPane.margin",
+ editorMargin,
+ //
+ // "html.pendingImage", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/image-delayed.png"),
+ // "html.missingImage", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/image-failed.png"),
+ // *** TitledBorder
+ // "TitledBorder.font", dialogPlain12,
+ "TitledBorder.titleColor",
+ controlText,
+ // "TitledBorder.border", etchedBorder,
+
+ // *** ToolBar
+ // "ToolBar.font", dialogPlain12,
+ // "ToolBar.background", control,
+ // "ToolBar.foreground", controlText,
+ // "ToolBar.shadow", controlShadow,
+ // "ToolBar.darkShadow", controlDkShadow,
+ // "ToolBar.light", controlHighlight,
+ // "ToolBar.highlight", controlLtHighlight,
+ // "ToolBar.dockingBackground", control,
+ // "ToolBar.dockingForeground", red,
+ // "ToolBar.floatingBackground", control,
+ // "ToolBar.floatingForeground", darkGray,
+ // "ToolBar.border", etchedBorder,
+ // "ToolBar.separatorSize", toolBarSeparatorSize,
+ // "ToolBar.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "UP", "navigateUp",
+ // "KP_UP", "navigateUp",
+ // "DOWN", "navigateDown",
+ // "KP_DOWN", "navigateDown",
+ // "LEFT", "navigateLeft",
+ // "KP_LEFT", "navigateLeft",
+ // "RIGHT", "navigateRight",
+ // "KP_RIGHT", "navigateRight"
+ // }),
+
+ // *** ToolTips
+ // "ToolTip.font", sansSerifPlain12,
+ // "ToolTip.background", table.get("info"),
+ // "ToolTip.foreground", table.get("infoText"),
+ // "ToolTip.border", blackLineBorder,
+ // ToolTips also support backgroundInactive, borderInactive,
+ // and foregroundInactive
+
+ // *** ToolTipManager
+ // ToolTipManager.enableToolTipMode currently supports:
+ // "allWindows" (default):
+ // enables tool tips for all windows of all java applications,
+ // whether the windows are active or inactive
+ // "activeApplication"
+ // enables tool tips for windows of an application only when
+ // the application has an active window
+ // "ToolTipManager.enableToolTipMode", "allWindows",
+
+ // *** Tree
+ "Tree.paintLines",
+ Boolean.TRUE,
+ "Tree.lineTypeDashed",
+ Boolean.FALSE,
+ // "Tree.font", dialogPlain12,
+ "Tree.background",
+ window,
+ "Tree.foreground",
+ textText,
+ "Tree.hash",
+ gray,
+ "Tree.textForeground",
+ textText,
+ "Tree.textBackground",
+ table.get("text"),
+ // "Tree.selectionForeground", textHighlightText,
+ // "Tree.selectionBackground", textHighlight,
+ // "Tree.selectionBorderColor", black,
+ // "Tree.dropLineColor", controlShadow,
+ // "Tree.editorBorder", blackLineBorder,
+ "Tree.leftChildIndent", new Integer(7), "Tree.rightChildIndent",
+ new Integer(13), "Tree.rowHeight", new Integer(16),
+ "Tree.scrollsOnExpand", Boolean.TRUE,
+ // "Tree.openIcon", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/TreeOpen.gif"),
+ // "Tree.closedIcon", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/TreeClosed.gif"),
+ // "Tree.leafIcon", SwingUtilities2.makeIcon(getClass(),
+ // BasicLookAndFeel.class,
+ // "icons/TreeLeaf.gif"),
+ // "Tree.expandedIcon", null,
+ // "Tree.collapsedIcon", null,
+ // "Tree.changeSelectionWithFocus", Boolean.TRUE,
+ // "Tree.drawsFocusBorderAroundIcon", Boolean.FALSE,
+ "Tree.timeFactor", oneThousand,
+ // "Tree.focusInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ctrl C", "copy",
+ // "ctrl V", "paste",
+ // "ctrl X", "cut",
+ // "COPY", "copy",
+ // "PASTE", "paste",
+ // "CUT", "cut",
+ // "control INSERT", "copy",
+ // "shift INSERT", "paste",
+ // "shift DELETE", "cut",
+ // "UP", "selectPrevious",
+ // "KP_UP", "selectPrevious",
+ // "shift UP", "selectPreviousExtendSelection",
+ // "shift KP_UP", "selectPreviousExtendSelection",
+ // "ctrl shift UP", "selectPreviousExtendSelection",
+ // "ctrl shift KP_UP", "selectPreviousExtendSelection",
+ // "ctrl UP", "selectPreviousChangeLead",
+ // "ctrl KP_UP", "selectPreviousChangeLead",
+ // "DOWN", "selectNext",
+ // "KP_DOWN", "selectNext",
+ // "shift DOWN", "selectNextExtendSelection",
+ // "shift KP_DOWN", "selectNextExtendSelection",
+ // "ctrl shift DOWN", "selectNextExtendSelection",
+ // "ctrl shift KP_DOWN", "selectNextExtendSelection",
+ // "ctrl DOWN", "selectNextChangeLead",
+ // "ctrl KP_DOWN", "selectNextChangeLead",
+ // "RIGHT", "selectChild",
+ // "KP_RIGHT", "selectChild",
+ // "LEFT", "selectParent",
+ // "KP_LEFT", "selectParent",
+ // "PAGE_UP", "scrollUpChangeSelection",
+ // "shift PAGE_UP", "scrollUpExtendSelection",
+ // "ctrl shift PAGE_UP", "scrollUpExtendSelection",
+ // "ctrl PAGE_UP", "scrollUpChangeLead",
+ // "PAGE_DOWN", "scrollDownChangeSelection",
+ // "shift PAGE_DOWN", "scrollDownExtendSelection",
+ // "ctrl shift PAGE_DOWN", "scrollDownExtendSelection",
+ // "ctrl PAGE_DOWN", "scrollDownChangeLead",
+ // "HOME", "selectFirst",
+ // "shift HOME", "selectFirstExtendSelection",
+ // "ctrl shift HOME", "selectFirstExtendSelection",
+ // "ctrl HOME", "selectFirstChangeLead",
+ // "END", "selectLast",
+ // "shift END", "selectLastExtendSelection",
+ // "ctrl shift END", "selectLastExtendSelection",
+ // "ctrl END", "selectLastChangeLead",
+ // "F2", "startEditing",
+ // "ctrl A", "selectAll",
+ // "ctrl SLASH", "selectAll",
+ // "ctrl BACK_SLASH", "clearSelection",
+ // "ctrl LEFT", "scrollLeft",
+ // "ctrl KP_LEFT", "scrollLeft",
+ // "ctrl RIGHT", "scrollRight",
+ // "ctrl KP_RIGHT", "scrollRight",
+ // "SPACE", "addToSelection",
+ // "ctrl SPACE", "toggleAndAnchor",
+ // "shift SPACE", "extendTo",
+ // "ctrl shift SPACE", "moveSelectionTo"
+ // }),
+ // "Tree.focusInputMap.RightToLeft",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "RIGHT", "selectParent",
+ // "KP_RIGHT", "selectParent",
+ // "LEFT", "selectChild",
+ // "KP_LEFT", "selectChild",
+ // }),
+ // "Tree.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "ESCAPE", "cancel"
+ // }),
+ // // Bind specific keys that can invoke popup on currently
+ // // focused JComponent
+ // "RootPane.ancestorInputMap",
+ // new UIDefaults.LazyInputMap(new Object[] {
+ // "shift F10", "postPopup",
+ // "CONTEXT_MENU", "postPopup"
+ // }),
+ //
+ // // These bindings are only enabled when there is a default
+ // // button set on the rootpane.
+ // "RootPane.defaultButtonWindowKeyBindings", new Object[] {
+ // "ENTER", "press",
+ // "released ENTER", "release",
+ // "ctrl ENTER", "press",
+ // "ctrl released ENTER", "release"
+ // },
+ };
+
+ table.putDefaults(defaults);
+ }
+
+ // /**
+ // * Returns the ui that is of type klass
, or null if
+ // * one can not be found.
+ // */
+ // static Object getUIOfType(ComponentUI ui, Class klass) {
+ // if (klass.isInstance(ui)) {
+ // return ui;
+ // }
+ // return null;
+ // }
+ //
+ // // ********* Auditory Cue support methods and objects *********
+ // // also see the "AuditoryCues" section of the defaults table
+ //
+ // /**
+ // * Returns an ActionMap
containing the audio actions
+ // * for this look and feel.
+ // *
+ // * The returned ActionMap
contains Actions
that
+ // * embody the ability to render an auditory cue. These auditory
+ // * cues map onto user and system activities that may be useful
+ // * for an end user to know about (such as a dialog box appearing).
+ // *
+ // * At the appropriate time,
+ // * the {@code ComponentUI} is responsible for obtaining an
+ // * Action
out of the ActionMap
and passing
+ // * it to playSound
.
+ // *
+ // * This method first looks up the {@code ActionMap} from the + // * defaults using the key {@code "AuditoryCues.actionMap"}. + // *
+ // * If the value is {@code non-null}, it is returned. If the value + // * of the default {@code "AuditoryCues.actionMap"} is {@code null} + // * and the value of the default {@code "AuditoryCues.cueList"} is + // * {@code non-null}, an {@code ActionMapUIResource} is created and + // * populated. Population is done by iterating over each of the + // * elements of the {@code "AuditoryCues.cueList"} array, and + // * invoking {@code createAudioAction()} to create an {@code + // * Action} for each element. The resulting {@code Action} is + // * placed in the {@code ActionMapUIResource}, using the array + // * element as the key. For example, if the {@code + // * "AuditoryCues.cueList"} array contains a single-element, {@code + // * "audioKey"}, the {@code ActionMapUIResource} is created, then + // * populated by way of {@code actionMap.put(cueList[0], + // * createAudioAction(cueList[0]))}. + // *
+ // * If the value of the default {@code "AuditoryCues.actionMap"} is + // * {@code null} and the value of the default + // * {@code "AuditoryCues.cueList"} is {@code null}, an empty + // * {@code ActionMapUIResource} is created. + // * + // * + // * @return an ActionMap containing {@code Actions} + // * responsible for playing auditory cues + // * @throws ClassCastException if the value of the + // * default {@code "AuditoryCues.actionMap"} is not an + // * {@code ActionMap}, or the value of the default + // * {@code "AuditoryCues.cueList"} is not an {@code Object[]} + // * @see #createAudioAction + // * @see #playSound(Action) + // * @since 1.4 + // */ + // protected ActionMap getAudioActionMap() { + // ActionMap audioActionMap = (ActionMap)UIManager.get( + // "AuditoryCues.actionMap"); + // if (audioActionMap == null) { + // Object[] acList = (Object[])UIManager.get("AuditoryCues.cueList"); + // if (acList != null) { + // audioActionMap = new ActionMapUIResource(); + // for(int counter = acList.length-1; counter >= 0; counter--) { + // audioActionMap.put(acList[counter], + // createAudioAction(acList[counter])); + // } + // } + // UIManager.getLookAndFeelDefaults().put("AuditoryCues.actionMap", + // audioActionMap); + // } + // return audioActionMap; + // } + // + // /** + // * Creates and returns an {@code Action} used to play a sound. + // *
+ // * If {@code key} is {@code non-null}, an {@code Action} is created
+ // * using the value from the defaults with key {@code key}. The value
+ // * identifies the sound resource to load when
+ // * {@code actionPerformed} is invoked on the {@code Action}. The
+ // * sound resource is loaded into a {@code byte[]} by way of
+ // * {@code getClass().getResourceAsStream()}.
+ // *
+ // * @param key the key identifying the audio action
+ // * @return an {@code Action} used to play the source, or {@code null}
+ // * if {@code key} is {@code null}
+ // * @see #playSound(Action)
+ // * @since 1.4
+ // */
+ // protected Action createAudioAction(Object key) {
+ // if (key != null) {
+ // String audioKey = (String)key;
+ // String audioValue = (String)UIManager.get(key);
+ // return new AudioAction(audioKey, audioValue);
+ // } else {
+ // return null;
+ // }
+ // }
+ //
+ // /**
+ // * Pass the name String to the super constructor. This is used
+ // * later to identify the Action and decide whether to play it or
+ // * not. Store the resource String. I is used to get the audio
+ // * resource. In this case, the resource is an audio file.
+ // *
+ // * @since 1.4
+ // */
+ // private class AudioAction extends AbstractAction implements LineListener {
+ // // We strive to only play one sound at a time (other platforms
+ // // appear to do this). This is done by maintaining the field
+ // // clipPlaying. Every time a sound is to be played,
+ // // cancelCurrentSound is invoked to cancel any sound that may be
+ // // playing.
+ // private String audioResource;
+ // private byte[] audioBuffer;
+ //
+ // /**
+ // * The String is the name of the Action and
+ // * points to the audio resource.
+ // * The byte[] is a buffer of the audio bits.
+ // */
+ // public AudioAction(String name, String resource) {
+ // super(name);
+ // audioResource = resource;
+ // }
+ //
+ // public void actionPerformed(ActionEvent e) {
+ // if (audioBuffer == null) {
+ // audioBuffer = loadAudioData(audioResource);
+ // }
+ // if (audioBuffer != null) {
+ // cancelCurrentSound(null);
+ // try {
+ // AudioInputStream soundStream =
+ // AudioSystem.getAudioInputStream(
+ // new ByteArrayInputStream(audioBuffer));
+ // DataLine.Info info =
+ // new DataLine.Info(Clip.class, soundStream.getFormat());
+ // Clip clip = (Clip) AudioSystem.getLine(info);
+ // clip.open(soundStream);
+ // clip.addLineListener(this);
+ //
+ // synchronized(audioLock) {
+ // clipPlaying = clip;
+ // }
+ //
+ // clip.start();
+ // } catch (Exception ex) {}
+ // }
+ // }
+ //
+ // public void update(LineEvent event) {
+ // if (event.getType() == LineEvent.Type.STOP) {
+ // cancelCurrentSound((Clip)event.getLine());
+ // }
+ // }
+ //
+ // /**
+ // * If the parameter is null, or equal to the currently
+ // * playing sound, then cancel the currently playing sound.
+ // */
+ // private void cancelCurrentSound(Clip clip) {
+ // Clip lastClip = null;
+ //
+ // synchronized(audioLock) {
+ // if (clip == null || clip == clipPlaying) {
+ // lastClip = clipPlaying;
+ // clipPlaying = null;
+ // }
+ // }
+ //
+ // if (lastClip != null) {
+ // lastClip.removeLineListener(this);
+ // lastClip.close();
+ // }
+ // }
+ // }
+ //
+ // /**
+ // * Utility method that loads audio bits for the specified
+ // * soundFile
filename. If this method is unable to
+ // * build a viable path name from the baseClass
and
+ // * soundFile
passed into this method, it will
+ // * return null
.
+ // *
+ // * @param baseClass used as the root class/location to get the
+ // * soundFile from
+ // * @param soundFile the name of the audio file to be retrieved
+ // * from disk
+ // * @return A byte[] with audio data or null
+ // * @since 1.4
+ // */
+ // private byte[] loadAudioData(final String soundFile){
+ // if (soundFile == null) {
+ // return null;
+ // }
+ // /* Copy resource into a byte array. This is
+ // * necessary because several browsers consider
+ // * Class.getResource a security risk since it
+ // * can be used to load additional classes.
+ // * Class.getResourceAsStream just returns raw
+ // * bytes, which we can convert to a sound.
+ // */
+ // byte[] buffer = (byte[])AccessController.doPrivileged(
+ // new PrivilegedAction() {
+ // public Object run() {
+ // try {
+ // InputStream resource = BasicLookAndFeel.this.
+ // getClass().getResourceAsStream(soundFile);
+ // if (resource == null) {
+ // return null;
+ // }
+ // BufferedInputStream in =
+ // new BufferedInputStream(resource);
+ // ByteArrayOutputStream out =
+ // new ByteArrayOutputStream(1024);
+ // byte[] buffer = new byte[1024];
+ // int n;
+ // while ((n = in.read(buffer)) > 0) {
+ // out.write(buffer, 0, n);
+ // }
+ // in.close();
+ // out.flush();
+ // buffer = out.toByteArray();
+ // return buffer;
+ // } catch (IOException ioe) {
+ // System.err.println(ioe.toString());
+ // return null;
+ // }
+ // }
+ // });
+ // if (buffer == null) {
+ // System.err.println(getClass().getName() + "/" +
+ // soundFile + " not found.");
+ // return null;
+ // }
+ // if (buffer.length == 0) {
+ // System.err.println("warning: " + soundFile +
+ // " is zero-length");
+ // return null;
+ // }
+ // return buffer;
+ // }
+ //
+ // /**
+ // * If necessary, invokes {@code actionPerformed} on
+ // * {@code audioAction} to play a sound.
+ // * The {@code actionPerformed} method is invoked if the value of
+ // * the {@code "AuditoryCues.playList"} default is a {@code
+ // * non-null} {@code Object[]} containing a {@code String} entry
+ // * equal to the name of the {@code audioAction}.
+ // *
+ // * @param audioAction an Action that knows how to render the audio
+ // * associated with the system or user activity
+ // * that is occurring; a value of {@code null}, is
+ // * ignored
+ // * @throws ClassCastException if {@code audioAction} is {@code non-null}
+ // * and the value of the default {@code "AuditoryCues.playList"}
+ // * is not an {@code Object[]}
+ // * @since 1.4
+ // */
+ // protected void playSound(Action audioAction) {
+ // if (audioAction != null) {
+ // Object[] audioStrings = (Object[])
+ // UIManager.get("AuditoryCues.playList");
+ // if (audioStrings != null) {
+ // // create a HashSet to help us decide to play or not
+ // HashSet audioCues = new HashSet();
+ // for (int i = 0; i < audioStrings.length; i++) {
+ // audioCues.add(audioStrings[i]);
+ // }
+ // // get the name of the Action
+ // String actionName = (String)audioAction.getValue(Action.NAME);
+ // // if the actionName is in the audioCues HashSet, play it.
+ // if (audioCues.contains(actionName)) {
+ // audioAction.actionPerformed(new
+ // ActionEvent(this, ActionEvent.ACTION_PERFORMED,
+ // actionName));
+ // }
+ // }
+ // }
+ // }
+ //
+ //
+ // /**
+ // * Sets the parent of the passed in ActionMap to be the audio action
+ // * map.
+ // */
+ // static void installAudioActionMap(ActionMap map) {
+ // LookAndFeel laf = UIManager.getLookAndFeel();
+ // if (laf instanceof BasicLookAndFeel) {
+ // map.setParent(((BasicLookAndFeel)laf).getAudioActionMap());
+ // }
+ // }
+ //
+ //
+ // /**
+ // * Helper method to play a named sound.
+ // *
+ // * @param c JComponent to play the sound for.
+ // * @param actionKey Key for the sound.
+ // */
+ // static void playSound(JComponent c, Object actionKey) {
+ // LookAndFeel laf = UIManager.getLookAndFeel();
+ // if (laf instanceof BasicLookAndFeel) {
+ // ActionMap map = c.getActionMap();
+ // if (map != null) {
+ // Action audioAction = map.get(actionKey);
+ // if (audioAction != null) {
+ // // pass off firing the Action to a utility method
+ // ((BasicLookAndFeel)laf).playSound(audioAction);
+ // }
+ // }
+ // }
+ // }
+ //
+ // /**
+ // * This class contains listener that watches for all the mouse
+ // * events that can possibly invoke popup on the component
+ // */
+ // class AWTEventHelper implements AWTEventListener,PrivilegedAction {
+ // AWTEventHelper() {
+ // super();
+ // AccessController.doPrivileged(this);
+ // }
+ //
+ // public Object run() {
+ // Toolkit tk = Toolkit.getDefaultToolkit();
+ // if(invocator == null) {
+ // tk.addAWTEventListener(this, AWTEvent.MOUSE_EVENT_MASK);
+ // } else {
+ // tk.removeAWTEventListener(invocator);
+ // }
+ // // Return value not used.
+ // return null;
+ // }
+ //
+ // public void eventDispatched(AWTEvent ev) {
+ // int eventID = ev.getID();
+ // if((eventID & AWTEvent.MOUSE_EVENT_MASK) != 0) {
+ // MouseEvent me = (MouseEvent) ev;
+ // if(me.isPopupTrigger()) {
+ // MenuElement[] elems = MenuSelectionManager
+ // .defaultManager()
+ // .getSelectedPath();
+ // if(elems != null && elems.length != 0) {
+ // return;
+ // // We shall not interfere with already opened menu
+ // }
+ // Object c = me.getSource();
+ // JComponent src = null;
+ // if(c instanceof JComponent) {
+ // src = (JComponent) c;
+ // } else if(c instanceof BasicSplitPaneDivider) {
+ // // Special case - if user clicks on divider we must
+ // // invoke popup from the SplitPane
+ // src = (JComponent)
+ // ((BasicSplitPaneDivider)c).getParent();
+ // }
+ // if(src != null) {
+ // if(src.getComponentPopupMenu() != null) {
+ // Point pt = src.getPopupLocation(me);
+ // if(pt == null) {
+ // pt = me.getPoint();
+ // pt = SwingUtilities.convertPoint((Component)c,
+ // pt, src);
+ // }
+ // src.getComponentPopupMenu().show(src, pt.x, pt.y);
+ // me.consume();
+ // }
+ // }
+ // }
+ // }
+ // /* Activate a JInternalFrame if necessary. */
+ // if (eventID == MouseEvent.MOUSE_PRESSED) {
+ // Object object = ev.getSource();
+ // if (!(object instanceof Component)) {
+ // return;
+ // }
+ // Component component = (Component)object;
+ // if (component != null) {
+ // Component parent = component;
+ // while (parent != null && !(parent instanceof Window)) {
+ // if (parent instanceof JInternalFrame) {
+ // // Activate the frame.
+ // try { ((JInternalFrame)parent).setSelected(true); }
+ // catch (PropertyVetoException e1) { }
+ // }
+ // parent = parent.getParent();
+ // }
+ // }
+ // }
+ // }
+ // }
+ //
+ @Override
+ public String getName() {
+ return "SwingJS";
+ }
+
+ @Override
+ public String getID() {
+ return "SwingJS";
+ }
+
+ @Override
+ public String getDescription() {
+ return "SwingJS L&F";
+ }
+
+ @Override
+ public boolean isNativeLookAndFeel() {
+ return true;
+ }
+
+ @Override
+ public boolean isSupportedLookAndFeel() {
+ return true;
+ }
+}