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

📄 jfaceresources.java

📁 jfa2ce 源码帮助开发人员更好的理解运用
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: *     IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.jface.resource;import java.text.MessageFormat;	// Not using ICU to support standalone JFace scenarioimport java.util.HashMap;import java.util.Map;import java.util.MissingResourceException;import java.util.ResourceBundle;import org.eclipse.jface.util.Assert;import org.eclipse.swt.graphics.Font;import org.eclipse.swt.graphics.Image;import org.eclipse.swt.widgets.Display;/** * Utility methods to access JFace-specific resources. * <p> * All methods declared on this class are static. This * class cannot be instantiated. * </p> * <p> * The following global state is also maintained by this class: * <ul> *   <li>a font registry</li> *	 <li>a color registry</li> *   <li>an image registry</li> *   <li>a resource bundle</li> * </ul> * </p> */public class JFaceResources {    /**     * Map of Display onto DeviceResourceManager. Holds all the resources for the associated display.     */    private static final Map registries = new HashMap();        /**     * The symbolic font name for the banner font      * (value <code>"org.eclipse.jface.bannerfont"</code>).     */    public static final String BANNER_FONT = "org.eclipse.jface.bannerfont"; //$NON-NLS-1$    /**     * The JFace resource bundle; eagerly initialized.     */    private static final ResourceBundle bundle = ResourceBundle            .getBundle("org.eclipse.jface.messages"); //$NON-NLS-1$    /**     * The JFace color registry; <code>null</code> until     * lazily initialized or explicitly set.     */    private static ColorRegistry colorRegistry;    /**     * The symbolic font name for the standard font      * (value <code>"org.eclipse.jface.defaultfont"</code>).     */    public static final String DEFAULT_FONT = "org.eclipse.jface.defaultfont"; //$NON-NLS-1$    /**     * The symbolic font name for the dialog font      * (value <code>"org.eclipse.jface.dialogfont"</code>).     */    public static final String DIALOG_FONT = "org.eclipse.jface.dialogfont"; //$NON-NLS-1$    /**     * The JFace font registry; <code>null</code> until     * lazily initialized or explicitly set.     */    private static FontRegistry fontRegistry = null;    /**     * The symbolic font name for the header font      * (value <code>"org.eclipse.jface.headerfont"</code>).     */    public static final String HEADER_FONT = "org.eclipse.jface.headerfont"; //$NON-NLS-1$    /**     * The JFace image registry; <code>null</code> until     * lazily initialized.     */    private static ImageRegistry imageRegistry = null;    /**     * The symbolic font name for the text font      * (value <code>"org.eclipse.jface.textfont"</code>).     */    public static final String TEXT_FONT = "org.eclipse.jface.textfont"; //$NON-NLS-1$    /**     * The symbolic font name for the viewer font      * (value <code>"org.eclipse.jface.viewerfont"</code>).     * @deprecated This font is not in use     */    public static final String VIEWER_FONT = "org.eclipse.jface.viewerfont"; //$NON-NLS-1$    /**     * The symbolic font name for the window font      * (value <code>"org.eclipse.jface.windowfont"</code>).     * @deprecated This font is not in use     */    public static final String WINDOW_FONT = "org.eclipse.jface.windowfont"; //$NON-NLS-1$    /**     * Returns the formatted message for the given key in     * JFace's resource bundle.      *     * @param key the resource name     * @param args the message arguments     * @return the string     */    public static String format(String key, Object[] args) {        return MessageFormat.format(getString(key), args);    }    /**     * Returns the JFace's banner font.     * Convenience method equivalent to     * <pre>     * JFaceResources.getFontRegistry().get(JFaceResources.BANNER_FONT)     * </pre>     *     * @return the font     */    public static Font getBannerFont() {        return getFontRegistry().get(BANNER_FONT);    }    /**     * Returns the resource bundle for JFace itself.     * The resouble bundle is obtained from     * <code>ResourceBundle.getBundle("org.eclipse.jface.jface_nls")</code>.     * <p>     * Note that several static convenience methods are      * also provided on this class for directly accessing     * resources in this bundle.     * </p>     *     * @return the resource bundle     */    public static ResourceBundle getBundle() {        return bundle;    }    /**     * Returns the color registry for JFace itself.     * <p>     * @return the <code>ColorRegistry</code>.     * @since 3.0     */    public static ColorRegistry getColorRegistry() {        if (colorRegistry == null) {			colorRegistry = new ColorRegistry();		}        return colorRegistry;    }    /**     * Returns the global resource manager for the given display     *      * @since 3.1     *     * @param toQuery display to query     * @return the global resource manager for the given display     */    public static ResourceManager getResources(final Display toQuery) {        ResourceManager reg = (ResourceManager)registries.get(toQuery);                 if (reg == null) {            final DeviceResourceManager mgr = new DeviceResourceManager(toQuery);            reg = mgr;            registries.put(toQuery, reg);            toQuery.disposeExec(new Runnable() {                /* (non-Javadoc)                 * @see java.lang.Runnable#run()                 */                public void run() {                    mgr.dispose();                    registries.remove(toQuery);                }            });        }                return reg;    }        /**     * Returns the ResourceManager for the current display. May only     * be called from a UI thread.     *      * @since 3.1     *     * @return the global ResourceManager for the current display     */    public static ResourceManager getResources() {        return getResources(Display.getCurrent());    }        /**     * Returns the JFace's standard font.     * Convenience method equivalent to     * <pre>     * JFaceResources.getFontRegistry().get(JFaceResources.DEFAULT_FONT)     * </pre>     *     * @return the font     */    public static Font getDefaultFont() {        return getFontRegistry().defaultFont();    }    /**     * Returns the JFace's dialog font.     * Convenience method equivalent to     * <pre>     * JFaceResources.getFontRegistry().get(JFaceResources.DIALOG_FONT)     * </pre>     *     * @return the font     */    public static Font getDialogFont() {        return getFontRegistry().get(DIALOG_FONT);    }    /**     * Returns the font in JFace's font registry with the given     * symbolic font name.     * Convenience method equivalent to     * <pre>     * JFaceResources.getFontRegistry().get(symbolicName)     * </pre>     *     * If an error occurs, return the default font.     *     * @param symbolicName the symbolic font name     * @return the font     */    public static Font getFont(String symbolicName) {        return getFontRegistry().get(symbolicName);    }    /**     * Returns the font registry for JFace itself.     * If the value has not been established by an earlier     * call to <code>setFontRegistry</code>, is it     * initialized to     * <code>new FontRegistry("org.eclipse.jface.resource.jfacefonts")</code>.     * <p>     * Note that several static convenience methods are      * also provided on this class for directly accessing     * JFace's standard fonts.     * </p>     */    public static FontRegistry getFontRegistry() {        if (fontRegistry == null) {            fontRegistry = new FontRegistry(                    "org.eclipse.jface.resource.jfacefonts"); //$NON-NLS-1$        }        return fontRegistry;    }    /**     * Returns the JFace's header font.     * Convenience method equivalent to     * <pre>     * JFaceResources.getFontRegistry().get(JFaceResources.HEADER_FONT)     * </pre>     *     * @return the font     */    public static Font getHeaderFont() {        return getFontRegistry().get(HEADER_FONT);    }    /**     * Returns the image in JFace's image registry with the given key,      * or <code>null</code> if none.     * Convenience method equivalent to     * <pre>     * JFaceResources.getImageRegistry().get(key)     * </pre>     *     * @param key the key     * @return the image, or <code>null</code> if none     */    public static Image getImage(String key) {        return getImageRegistry().get(key);    }    /**     * Returns the image registry for JFace itself.     * <p>     * Note that the static convenience method <code>getImage</code>     * is also provided on this class.     * </p>     */    public static ImageRegistry getImageRegistry() {        if (imageRegistry == null) {			imageRegistry = new ImageRegistry(getResources(Display.getCurrent()));		}        return imageRegistry;    }    /**     * Returns the resource object with the given key in     * JFace's resource bundle. If there isn't any value under     * the given key, the key is returned.     *     * @param key the resource name     * @return the string     */    public static String getString(String key) {        try {            return bundle.getString(key);        } catch (MissingResourceException e) {            return key;        }    }    /**     * Returns a list of string values corresponding to the     * given list of keys. The lookup is done with <code>getString</code>.     * The values are in the same order as the keys.     *     * @param keys a list of keys     * @return a list of corresponding string values     */    public static String[] getStrings(String[] keys) {        Assert.isNotNull(keys);        int length = keys.length;        String[] result = new String[length];        for (int i = 0; i < length; i++) {			result[i] = getString(keys[i]);		}        return result;    }    /**     * Returns the JFace's text font.     * Convenience method equivalent to     * <pre>     * JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT)     * </pre>     *     * @return the font     */    public static Font getTextFont() {        return getFontRegistry().get(TEXT_FONT);    }    /**     * Returns the JFace's viewer font.     * Convenience method equivalent to     * <pre>     * JFaceResources.getFontRegistry().get(JFaceResources.VIEWER_FONT)     * </pre>     *     * @return the font     * @deprecated This font is not in use     */    public static Font getViewerFont() {        return getFontRegistry().get(VIEWER_FONT);    }    /**     * Sets JFace's font registry to the given value.     * This method may only be called once; the call must occur     * before <code>JFaceResources.getFontRegistry</code>     * is invoked (either directly or indirectly).      *     * @param registry a font registry     */    public static void setFontRegistry(FontRegistry registry) {        Assert.isTrue(fontRegistry == null,                "Font registry can only be set once."); //$NON-NLS-1$        fontRegistry = registry;    }    /* (non-Javadoc)     * Declare a private constructor to block instantiation.     */    private JFaceResources() {        //no-op    }}

⌨️ 快捷键说明

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