⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 synthlookandfeel.java

📁 JAVA的一些源码 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            y = bounds.y;            width = bounds.width;            height = bounds.height;        }        // Fill in the background, if necessary.        boolean subregion = state.isSubregion();        if ((subregion && style.isOpaque(state)) ||                          (!subregion && c.isOpaque())) {            g.setColor(style.getColor(state, ColorType.BACKGROUND));            g.fillRect(x, y, width, height);        }    }    static boolean isLeftToRight(Component c) {        return c.getComponentOrientation().isLeftToRight();    }    /**     * Returns the ui that is of type <code>klass</code>, or null if     * one can not be found.     */    static Object getUIOfType(ComponentUI ui, Class klass) {        if (klass.isInstance(ui)) {            return ui;        }        return null;    }    /**     * Creates the Synth look and feel <code>ComponentUI</code> for     * the passed in <code>JComponent</code>.     *     * @param c JComponent to create the <code>ComponentUI</code> for     * @return ComponentUI to use for <code>c</code>     */    public static ComponentUI createUI(JComponent c) {        String key = c.getUIClassID().intern();        if (key == "ButtonUI") {            return SynthButtonUI.createUI(c);        }        else if (key == "CheckBoxUI") {            return SynthCheckBoxUI.createUI(c);        }        else if (key == "CheckBoxMenuItemUI") {            return SynthCheckBoxMenuItemUI.createUI(c);        }        else if (key == "ColorChooserUI") {            return SynthColorChooserUI.createUI(c);        }        else if (key == "ComboBoxUI") {            return SynthComboBoxUI.createUI(c);        }        else if (key == "DesktopPaneUI") {            return SynthDesktopPaneUI.createUI(c);        }        else if (key == "DesktopIconUI") {            return SynthDesktopIconUI.createUI(c);        }        else if (key == "EditorPaneUI") {            return SynthEditorPaneUI.createUI(c);        }        else if (key == "FileChooserUI") {            return SynthFileChooserUI.createUI(c);        }        else if (key == "FormattedTextFieldUI") {            return SynthFormattedTextFieldUI.createUI(c);        }        else if (key == "InternalFrameUI") {            return SynthInternalFrameUI.createUI(c);        }        else if (key == "LabelUI") {            return SynthLabelUI.createUI(c);        }        else if (key == "ListUI") {            return SynthListUI.createUI(c);        }        else if (key == "MenuBarUI") {            return SynthMenuBarUI.createUI(c);        }        else if (key == "MenuUI") {            return SynthMenuUI.createUI(c);        }        else if (key == "MenuItemUI") {            return SynthMenuItemUI.createUI(c);        }        else if (key == "OptionPaneUI") {            return SynthOptionPaneUI.createUI(c);        }        else if (key == "PanelUI") {            return SynthPanelUI.createUI(c);        }        else if (key == "PasswordFieldUI") {            return SynthPasswordFieldUI.createUI(c);        }        else if (key == "PopupMenuSeparatorUI") {            return SynthSeparatorUI.createUI(c);        }        else if (key == "PopupMenuUI") {            return SynthPopupMenuUI.createUI(c);        }        else if (key == "ProgressBarUI") {            return SynthProgressBarUI.createUI(c);        }        else if (key == "RadioButtonUI") {            return SynthRadioButtonUI.createUI(c);        }        else if (key == "RadioButtonMenuItemUI") {            return SynthRadioButtonMenuItemUI.createUI(c);        }        else if (key == "RootPaneUI") {            return SynthRootPaneUI.createUI(c);        }        else if (key == "ScrollBarUI") {            return SynthScrollBarUI.createUI(c);        }        else if (key == "ScrollPaneUI") {            return SynthScrollPaneUI.createUI(c);        }        else if (key == "SeparatorUI") {            return SynthSeparatorUI.createUI(c);        }        else if (key == "SliderUI") {            return SynthSliderUI.createUI(c);        }        else if (key == "SpinnerUI") {            return SynthSpinnerUI.createUI(c);        }        else if (key == "SplitPaneUI") {            return SynthSplitPaneUI.createUI(c);        }        else if (key == "TabbedPaneUI") {            return SynthTabbedPaneUI.createUI(c);        }        else if (key == "TableUI") {            return SynthTableUI.createUI(c);        }        else if (key == "TableHeaderUI") {            return SynthTableHeaderUI.createUI(c);        }        else if (key == "TextAreaUI") {            return SynthTextAreaUI.createUI(c);        }        else if (key == "TextFieldUI") {            return SynthTextFieldUI.createUI(c);        }        else if (key == "TextPaneUI") {            return SynthTextPaneUI.createUI(c);        }        else if (key == "ToggleButtonUI") {            return SynthToggleButtonUI.createUI(c);        }        else if (key == "ToolBarSeparatorUI") {            return SynthSeparatorUI.createUI(c);        }        else if (key == "ToolBarUI") {            return SynthToolBarUI.createUI(c);        }        else if (key == "ToolTipUI") {            return SynthToolTipUI.createUI(c);        }        else if (key == "TreeUI") {            return SynthTreeUI.createUI(c);        }        else if (key == "ViewportUI") {            return SynthViewportUI.createUI(c);        }        return null;    }    /**     * Creates a SynthLookAndFeel.     * <p>     * For the returned <code>SynthLookAndFeel</code> to be useful you need to     * invoke <code>load</code> to specify the set of     * <code>SynthStyle</code>s, or invoke <code>setStyleFactory</code>.     *     * @see #load     * @see #setStyleFactory     */    public SynthLookAndFeel() {        factory = new DefaultSynthStyleFactory();    }    /**     * Loads the set of <code>SynthStyle</code>s that will be used by     * this <code>SynthLookAndFeel</code>. <code>resourceBase</code> is     * used to resolve any path based resources, for example an     * <code>Image</code> would be resolved by     * <code>resourceBase.getResource(path)</code>. Refer to     * <a href="doc-files/synthFileFormat.html">Synth File Format</a>     * for more information.     *     * @param input InputStream to load from     * @param resourceBase Used to resolve any images or other resources     * @throws ParseException If there is an error in parsing     * @throws IllegalArgumentException if input or resourceBase is null     */    public void load(InputStream input, Class<?> resourceBase) throws                       ParseException, IllegalArgumentException {        if (defaultsMap == null) {            defaultsMap = new HashMap();        }        new SynthParser().parse(input, (DefaultSynthStyleFactory)factory,                                resourceBase, defaultsMap);    }    /**     * Called by UIManager when this look and feel is installed.     */    public void initialize() {        super.initialize();        DefaultLookup.setDefaultLookup(new SynthDefaultLookup());        setStyleFactory(factory);    }    /**     * Called by UIManager when this look and feel is uninstalled.     */    public void uninitialize() {        // We should uninstall the StyleFactory here, but unfortunately        // there are a handful of things that retain references to the        // LookAndFeel and expect things to work        super.uninitialize();    }    /**     * Returns the defaults for this SynthLookAndFeel.     *     * @return Defaults able.     */    public UIDefaults getDefaults() {	UIDefaults table = new UIDefaults();        Region.registerUIs(table);        table.setDefaultLocale(Locale.getDefault());        table.addResourceBundle(              "com.sun.swing.internal.plaf.basic.resources.basic" );        table.addResourceBundle("com.sun.swing.internal.plaf.synth.resources.synth");        // These need to be defined for JColorChooser to work.        table.put("ColorChooser.swatchesRecentSwatchSize",                  new Dimension(10, 10));        table.put("ColorChooser.swatchesDefaultRecentColor", Color.RED);        table.put("ColorChooser.swatchesSwatchSize", new Dimension(10, 10));        // These are needed for PopupMenu.        table.put("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",		   "SPACE", "return"        });        table.put("PopupMenu.selectedWindowInputMapBindings.RightToLeft",                  new Object[] {		    "LEFT", "selectChild",		 "KP_LEFT", "selectChild",		   "RIGHT", "selectParent",		"KP_RIGHT", "selectParent",                  });        if (defaultsMap != null) {            table.putAll(defaultsMap);        }        return table;    }    /**     * Returns true, SynthLookAndFeel is always supported.     *     * @return true.     */    public boolean isSupportedLookAndFeel() {        return true;    }    /**     * Returns false, SynthLookAndFeel is not a native look and feel.     *     * @return true.     */    public boolean isNativeLookAndFeel() {        return false;    }    /**     * Returns a textual description of SynthLookAndFeel.     *     * @return textual description of synth.     */    public String getDescription() {        return "Synth look and feel";    }    /**     * Return a short string that identifies this look and feel.     *     * @return a short string identifying this look and feel.     */    public String getName() {        return "Synth look and feel";    }    /**     * Return a string that identifies this look and feel.     *     * @return a short string identifying this look and feel.     */    public String getID() {        return "Synth";    }    /**     * Returns whether or not the UIs should update their     * <code>SynthStyles</code> from the <code>SynthStyleFactory</code>     * when the ancestor of the <code>JComponent</code> changes. A subclass     * that provided a <code>SynthStyleFactory</code> that based the     * return value from <code>getStyle</code> off the containment hierarchy     * would override this method to return true.     *     * @return whether or not the UIs should update their     * <code>SynthStyles</code> from the <code>SynthStyleFactory</code>     * when the ancestor changed.     */    public boolean shouldUpdateStyleOnAncestorChanged() {        return false;    }        private void writeObject(java.io.ObjectOutputStream out)             throws IOException {        throw new NotSerializableException(this.getClass().getName());    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -