📄 oceantheme.java
字号:
/* * @(#)OceanTheme.java 1.21 06/07/12 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.plaf.metal;import java.awt.*;import java.net.URL;import java.util.*;import javax.swing.*;import javax.swing.plaf.*;import sun.swing.SwingUtilities2;import sun.swing.PrintColorUIResource;/** * The default theme for the {@code MetalLookAndFeel}. * <p> * The designers * of the Metal Look and Feel strive to keep the default look up to * date, possibly through the use of new themes in the future. * Therefore, developers should only use this class directly when they * wish to customize the "Ocean" look, or force it to be the current * theme, regardless of future updates. * <p> * All colors returned by {@code OceanTheme} are completely * opaque. * * @version 1.21 07/12/06 * @since 1.5 * @see MetalLookAndFeel#setCurrentTheme */public class OceanTheme extends DefaultMetalTheme { private static final ColorUIResource PRIMARY1 = new ColorUIResource(0x6382BF); private static final ColorUIResource PRIMARY2 = new ColorUIResource(0xA3B8CC); private static final ColorUIResource PRIMARY3 = new ColorUIResource(0xB8CFE5); private static final ColorUIResource SECONDARY1 = new ColorUIResource(0x7A8A99); private static final ColorUIResource SECONDARY2 = new ColorUIResource(0xB8CFE5); private static final ColorUIResource SECONDARY3 = new ColorUIResource(0xEEEEEE); private static final ColorUIResource CONTROL_TEXT_COLOR = new PrintColorUIResource(0x333333, Color.BLACK); private static final ColorUIResource INACTIVE_CONTROL_TEXT_COLOR = new ColorUIResource(0x999999); private static final ColorUIResource MENU_DISABLED_FOREGROUND = new ColorUIResource(0x999999); private static final ColorUIResource OCEAN_BLACK = new PrintColorUIResource(0x333333, Color.BLACK); private static final ColorUIResource OCEAN_DROP = new ColorUIResource(0xD2E9FF); // ComponentOrientation Icon // Delegates to different icons based on component orientation private static class COIcon extends IconUIResource { private Icon rtl; public COIcon(Icon ltr, Icon rtl) { super(ltr); this.rtl = rtl; } public void paintIcon(Component c, Graphics g, int x, int y) { if (MetalUtils.isLeftToRight(c)) { super.paintIcon(c, g, x, y); } else { rtl.paintIcon(c, g, x, y); } } } // InternalFrame Icon // Delegates to different icons based on button state private static class IFIcon extends IconUIResource { private Icon pressed; public IFIcon(Icon normal, Icon pressed) { super(normal); this.pressed = pressed; } public void paintIcon(Component c, Graphics g, int x, int y) { ButtonModel model = ((AbstractButton)c).getModel(); if (model.isPressed() && model.isArmed()) { pressed.paintIcon(c, g, x, y); } else { super.paintIcon(c, g, x, y); } } } /** * Creates an instance of <code>OceanTheme</code> */ public OceanTheme() { } /** * Add this theme's custom entries to the defaults table. * * @param table the defaults table, non-null * @throws NullPointerException if {@code table} is {@code null} */ public void addCustomEntriesToTable(UIDefaults table) { Object focusBorder = new UIDefaults.ProxyLazyValue( "javax.swing.plaf.BorderUIResource$LineBorderUIResource", new Object[] {getPrimary1()}); // .30 0 DDE8F3 white secondary2 java.util.List buttonGradient = Arrays.asList( new Object[] {new Float(.3f), new Float(0f), new ColorUIResource(0xDDE8F3), getWhite(), getSecondary2() }); // Other possible properties that aren't defined: // // Used when generating the disabled Icons, provides the region to // constrain grays to. // Button.disabledGrayRange -> Object[] of Integers giving min/max // InternalFrame.inactiveTitleGradient -> Gradient when the // internal frame is inactive. Color cccccc = new ColorUIResource(0xCCCCCC); Color dadada = new ColorUIResource(0xDADADA); Color c8ddf2 = new ColorUIResource(0xC8DDF2); Object directoryIcon = getIconResource("icons/ocean/directory.gif"); Object fileIcon = getIconResource("icons/ocean/file.gif"); java.util.List sliderGradient = Arrays.asList(new Object[] { new Float(.3f), new Float(.2f), c8ddf2, getWhite(), new ColorUIResource(SECONDARY2) }); Object[] defaults = new Object[] { "Button.gradient", buttonGradient, "Button.rollover", Boolean.TRUE, "Button.toolBarBorderBackground", INACTIVE_CONTROL_TEXT_COLOR, "Button.disabledToolBarBorderBackground", cccccc, "Button.rolloverIconType", "ocean", "CheckBox.rollover", Boolean.TRUE, "CheckBox.gradient", buttonGradient, "CheckBoxMenuItem.gradient", buttonGradient, // home2 "FileChooser.homeFolderIcon", getIconResource("icons/ocean/homeFolder.gif"), // directory2 "FileChooser.newFolderIcon", getIconResource("icons/ocean/newFolder.gif"), // updir2 "FileChooser.upFolderIcon", getIconResource("icons/ocean/upFolder.gif"), // computer2 "FileView.computerIcon", getIconResource("icons/ocean/computer.gif"), "FileView.directoryIcon", directoryIcon, // disk2 "FileView.hardDriveIcon", getIconResource("icons/ocean/hardDrive.gif"), "FileView.fileIcon", fileIcon, // floppy2 "FileView.floppyDriveIcon", getIconResource("icons/ocean/floppy.gif"), "Label.disabledForeground", getInactiveControlTextColor(), "Menu.opaque", Boolean.FALSE, "MenuBar.gradient", Arrays.asList(new Object[] { new Float(1f), new Float(0f), getWhite(), dadada, new ColorUIResource(dadada) }), "MenuBar.borderColor", cccccc, "InternalFrame.activeTitleGradient", buttonGradient, // close2 "InternalFrame.closeIcon", new UIDefaults.LazyValue() { public Object createValue(UIDefaults table) { return new IFIcon(getHastenedIcon("icons/ocean/close.gif", table), getHastenedIcon("icons/ocean/close-pressed.gif", table)); } }, // minimize "InternalFrame.iconifyIcon", new UIDefaults.LazyValue() { public Object createValue(UIDefaults table) { return new IFIcon(getHastenedIcon("icons/ocean/iconify.gif", table), getHastenedIcon("icons/ocean/iconify-pressed.gif", table)); } }, // restore "InternalFrame.minimizeIcon", new UIDefaults.LazyValue() { public Object createValue(UIDefaults table) { return new IFIcon(getHastenedIcon("icons/ocean/minimize.gif", table), getHastenedIcon("icons/ocean/minimize-pressed.gif", table)); } }, // menubutton3 "InternalFrame.icon", getIconResource("icons/ocean/menu.gif"), // maximize2 "InternalFrame.maximizeIcon", new UIDefaults.LazyValue() { public Object createValue(UIDefaults table) { return new IFIcon(getHastenedIcon("icons/ocean/maximize.gif", table), getHastenedIcon("icons/ocean/maximize-pressed.gif", table)); } }, // paletteclose "InternalFrame.paletteCloseIcon", new UIDefaults.LazyValue() { public Object createValue(UIDefaults table) { return new IFIcon(getHastenedIcon("icons/ocean/paletteClose.gif", table),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -