📄 metallookandfeel.java
字号:
return theme.getPrimaryControl(); } /** * Returns the primary color for the dark shadow on controls, from the * installed theme. * * @return The primary color for the dark shadow on controls. */ public static ColorUIResource getPrimaryControlDarkShadow() { return theme.getPrimaryControlDarkShadow(); } /** * Returns the primary color for the highlight on controls, from the * installed theme. * * @return The primary color for the highlight on controls. */ public static ColorUIResource getPrimaryControlHighlight() { return theme.getPrimaryControlHighlight(); } /** * Returns the primary color for the information on controls, from the * installed theme. * * @return The primary color for the information on controls. */ public static ColorUIResource getPrimaryControlInfo() { return theme.getPrimaryControlInfo(); } /** * Returns the primary color for the shadow on controls, from the installed * theme. * * @return The primary color for the shadow on controls. */ public static ColorUIResource getPrimaryControlShadow() { return theme.getPrimaryControlShadow(); } /** * Returns the background color for separators, from the installed theme. * * @return The background color for separators. */ public static ColorUIResource getSeparatorBackground() { return theme.getSeparatorBackground(); } /** * Returns the foreground color for separators, from the installed theme. * * @return The foreground color for separators. */ public static ColorUIResource getSeparatorForeground() { return theme.getSeparatorForeground(); } /** * Returns the font used for sub text, from the installed theme. * * @return The font used for sub text. */ public static FontUIResource getSubTextFont() { return theme.getSubTextFont(); } /** * Returns the color used for system text, from the installed theme. * * @return The color used for system text. */ public static ColorUIResource getSystemTextColor() { return theme.getSystemTextColor(); } /** * Returns the font used for system text, from the installed theme. * * @return The font used for system text. */ public static FontUIResource getSystemTextFont() { return theme.getSystemTextFont(); } /** * Returns the color used to highlight text, from the installed theme. * * @return The color used to highlight text. */ public static ColorUIResource getTextHighlightColor() { return theme.getTextHighlightColor(); } /** * Returns the color used to display user text, from the installed theme. * * @return The color used to display user text. */ public static ColorUIResource getUserTextColor() { return theme.getUserTextColor(); } /** * Returns the font used for user text, obtained from the current theme. * * @return The font used for user text. */ public static FontUIResource getUserTextFont() { return theme.getUserTextFont(); } /** * Returns the color used for white, from the installed theme. * * @return The color used for white. */ public static ColorUIResource getWhite() { return theme.getWhite(); } /** * Returns the window background color, from the installed theme. * * @return The window background color. */ public static ColorUIResource getWindowBackground() { return theme.getWindowBackground(); } /** * Returns the window title background color, from the installed theme. * * @return The window title background color. */ public static ColorUIResource getWindowTitleBackground() { return theme.getWindowTitleBackground(); } /** * Returns the window title font from the current theme. * * @return The window title font. * * @see MetalTheme */ public static FontUIResource getWindowTitleFont() { return theme.getWindowTitleFont(); } /** * Returns the window title foreground color, from the installed theme. * * @return The window title foreground color. */ public static ColorUIResource getWindowTitleForeground() { return theme.getWindowTitleForeground(); } /** * Returns the background color for an inactive window title, from the * installed theme. * * @return The background color for an inactive window title. */ public static ColorUIResource getWindowTitleInactiveBackground() { return theme.getWindowTitleInactiveBackground(); } /** * Returns the foreground color for an inactive window title, from the * installed theme. * * @return The foreground color for an inactive window title. */ public static ColorUIResource getWindowTitleInactiveForeground() { return theme.getWindowTitleInactiveForeground(); } /** * Sets the current theme for the look and feel. Note that the theme must be * set <em>before</em> the look and feel is installed. To change the theme * for an already running application that is using the * {@link MetalLookAndFeel}, first set the theme with this method, then * create a new instance of {@link MetalLookAndFeel} and install it in the * usual way (see {@link UIManager#setLookAndFeel(LookAndFeel)}). * * @param theme the theme (<code>null</code> not permitted). * * @throws NullPointerException if <code>theme</code> is <code>null</code>. */ public static void setCurrentTheme(MetalTheme theme) { if (theme == null) throw new NullPointerException("Null 'theme' not permitted."); MetalLookAndFeel.theme = theme; } /** * Sets the ComponentUI classes for all Swing components to the Metal * implementations. * * In particular this sets the following keys: * * <table> * <tr> * <th>Key</th><th>Value</th> * </tr><tr> * <td>ButtonUI</td><td>{@link MetalButtonUI}</td> * </tr><tr> * <td>CheckBoxUI</td><td>{@link MetalCheckBoxUI}</td> * </tr><tr> * <td>ComboBoxUI</td><td>{@link MetalComboBoxUI}</td> * </tr><tr> * <td>DesktopIconUI</td><td>{@link MetalDesktopIconUI}</td> * </tr><tr> * <td>InternalFrameUI</td><td>{@link MetalInternalFrameUI}</td> * </tr><tr> * <td>LabelUI</td><td>{@link MetalLabelUI}</td> * </tr><tr> * <td>PopupMenuSeparatorUI</td><td>{@link MetalPopupMenuSeparatorUI}</td> * </tr><tr> * <td>ProgressBarUI</td><td>{@link MetalProgressBarUI}</td> * </tr><tr> * <td>RadioButtonUI</td><td>{@link MetalRadioButtonUI}</td> * </tr><tr> * <td>RootPaneUI</td><td>{@link MetalRootPaneUI}</td> * </tr><tr> * <td>ScrollBarUI</td><td>{@link MetalScrollBarUI}</td> * </tr><tr> * <td>ScrollPaneUI</td><td>{@link MetalScrollPaneUI}</td> * </tr><tr> * <td>SeparatorUI</td><td>{@link MetalSeparatorUI}</td> * </tr><tr> * <td>SliderUI</td><td>{@link MetalSliderUI}</td> * </tr><tr> * <td>SplitPaneUI</td><td>{@link MetalSplitPaneUI}</td> * </tr><tr> * <td>TabbedPaneUI</td><td>{@link MetalTabbedPaneUI}</td> * </tr><tr> * <td>TextFieldUI</td><td>{@link MetalTextFieldUI}</td> * </tr><tr> * <td>ToggleButtonUI</td><td>{@link MetalToggleButtonUI}</td> * </tr><tr> * <td>ToolBarUI</td><td>{@link MetalToolBarUI}</td> * </tr><tr> * <td>ToolTipUI</td><td>{@link MetalToolTipUI}</td> * </tr><tr> * <td>TreeUI</td><td>{@link MetalTreeUI}</td> * </tr><tr> * </table> * * @param defaults the UIDefaults where the class defaults are added */ protected void initClassDefaults(UIDefaults defaults) { super.initClassDefaults(defaults); // Variables Object[] uiDefaults; // Initialize Class Defaults uiDefaults = new Object[] { "ButtonUI", "javax.swing.plaf.metal.MetalButtonUI", "CheckBoxUI", "javax.swing.plaf.metal.MetalCheckBoxUI", "ComboBoxUI", "javax.swing.plaf.metal.MetalComboBoxUI", "DesktopIconUI", "javax.swing.plaf.metal.MetalDesktopIconUI", "InternalFrameUI", "javax.swing.plaf.metal.MetalInternalFrameUI", "LabelUI", "javax.swing.plaf.metal.MetalLabelUI", "MenuBarUI", "javax.swing.plaf.metal.MetalMenuBarUI", "PopupMenuSeparatorUI", "javax.swing.plaf.metal.MetalPopupMenuSeparatorUI", "ProgressBarUI", "javax.swing.plaf.metal.MetalProgressBarUI", "RadioButtonUI", "javax.swing.plaf.metal.MetalRadioButtonUI", "RootPaneUI", "javax.swing.plaf.metal.MetalRootPaneUI", "ScrollBarUI", "javax.swing.plaf.metal.MetalScrollBarUI", "ScrollPaneUI", "javax.swing.plaf.metal.MetalScrollPaneUI", "SeparatorUI", "javax.swing.plaf.metal.MetalSeparatorUI", "SliderUI", "javax.swing.plaf.metal.MetalSliderUI", "SplitPaneUI", "javax.swing.plaf.metal.MetalSplitPaneUI", "TabbedPaneUI", "javax.swing.plaf.metal.MetalTabbedPaneUI", "TextFieldUI", "javax.swing.plaf.metal.MetalTextFieldUI", "ToggleButtonUI", "javax.swing.plaf.metal.MetalToggleButtonUI", "ToolBarUI", "javax.swing.plaf.metal.MetalToolBarUI", "ToolTipUI", "javax.swing.plaf.metal.MetalToolTipUI", "TreeUI", "javax.swing.plaf.metal.MetalTreeUI", }; // Add Class Defaults to UI Defaults table defaults.putDefaults(uiDefaults); } /** * Initializes the component defaults for the Metal Look & Feel. * * In particular this sets the following keys (the colors are given * as RGB hex values): * * <table> * <tr> * <th>Key</th><th>Value</th> * </tr><tr> * <td>Button.background</td><td>0xcccccc</td> * </tr><tr> * <td>Button.border</td><td>{@link MetalBorders#getButtonBorder()}</td> * </tr><tr> * <td>Button.font</td><td>{@link #getControlTextFont}</td> * </tr><tr> * <td>Button.margin</td><td><code>new java.awt.Insets(2, 14, 2, 14)</code> * </td> * </tr><tr> * <td>CheckBox.background</td><td>0xcccccc</td> * </tr><tr> * <td>CheckBoxMenuItem.background</td><td>0xcccccc</td> * </tr><tr> * <td>ToolBar.background</td><td>0xcccccc</td> * </tr><tr> * <td>Panel.background</td><td>0xcccccc</td> * </tr><tr> * <td>Slider.background</td><td>0xcccccc</td> * </tr><tr> * <td>OptionPane.background</td><td>0xcccccc</td> * </tr><tr> * <td>ProgressBar.background</td><td>0xcccccc</td> * </tr><tr> * <td>TabbedPane.background</td><td>0xcccccc</td> * </tr><tr> * <td>Label.background</td><td>0xcccccc</td> * </tr><tr> * <td>Label.font</td><td>{@link #getControlTextFont}</td> * </tr><tr> * <td>Menu.background</td><td>0xcccccc</td> * </tr><tr> * <td>MenuBar.background</td><td>0xcccccc</td> * </tr><tr> * <td>MenuItem.background</td><td>0xcccccc</td> * </tr><tr> * <td>ScrollBar.background</td><td>0xcccccc</td> * </tr><tr> * <td>PopupMenu.border</td> * <td><code>new javax.swing.plaf.metal.MetalBorders.PopupMenuBorder()</td> * </tr><tr> * </table> * * @param defaults the UIDefaults instance to which the values are added */ protected void initComponentDefaults(UIDefaults defaults) { super.initComponentDefaults(defaults); Object[] myDefaults = new Object[] { "Button.background", getControl(), "Button.border", MetalBorders.getButtonBorder(), "Button.darkShadow", getControlDarkShadow(), "Button.disabledText", getInactiveControlTextColor(), "Button.focus", getFocusColor(), "Button.font", getControlTextFont(), "Button.foreground", getControlTextColor(), "Button.highlight", getControlHighlight(), "Button.light", getControlHighlight(), "Button.margin", new InsetsUIResource(2, 14, 2, 14), "Button.select", getControlShadow(), "Button.shadow", getControlShadow(), "CheckBox.background", getControl(), "CheckBox.border", MetalBorders.getButtonBorder(), "CheckBox.disabledText", getInactiveControlTextColor(), "CheckBox.focus", getFocusColor(), "CheckBox.font", new FontUIResource("Dialog", Font.BOLD, 12), "CheckBox.foreground", getControlTextColor(), "CheckBox.icon", new UIDefaults.ProxyLazyValue ("javax.swing.plaf.metal.MetalCheckBoxIcon"), "CheckBox.checkIcon", new UIDefaults.ProxyLazyValue ("javax.swing.plaf.metal.MetalCheckBoxIcon"), "Checkbox.select", getControlShadow(), "CheckBoxMenuItem.acceleratorFont", new FontUIResource("Dialog", Font.PLAIN, 10), "CheckBoxMenuItem.acceleratorForeground", getAcceleratorForeground(), "CheckBoxMenuItem.acceleratorSelectionForeground", getAcceleratorSelectedForeground(), "CheckBoxMenuItem.background", getMenuBackground(), "CheckBoxMenuItem.borderPainted", new Boolean(true), "CheckBoxMenuItem.commandSound", "sounds/MenuItemCommand.wav", "CheckBoxMenuItem.checkIcon", MetalIconFactory.getCheckBoxMenuItemIcon(), "CheckBoxMenuItem.disabledForeground", getMenuDisabledForeground(),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -