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

📄 inputmethodhandler.java

📁 用于移动设备上的java虚拟机源代码
💻 JAVA
字号:
/** * @(#)InputMethodHandler.java	1.29 02/09/17 @(#) * * Copyright (c) 2000-2002 Sun Microsystems, Inc.  All rights reserved. * PROPRIETARY/CONFIDENTIAL * Use is subject to license terms. */package com.sun.midp.lcdui;import com.sun.midp.main.Configuration;/** * The InputMethod handler. */abstract public class InputMethodHandler {    /** A special no-op key. */    public static final int KEYCODE_NONE       = -1;    /** Key code for deleting */    public static final int KEYCODE_CLEAR      = -2;    /** Key code for deleting all text */    public static final int KEYCODE_CLEARALL   = -3;    /** Key code if the '#' key is pressed in NUMERIC or DECIMAL */    public static final int KEYCODE_SIGNCHANGE = -4;    /** Key code if the '#' key is pressed in NUMERIC or DECIMAL */    public static final int KEYCODE_SHIFT      = -5;    /** handle for the current input method handler. */    private static InputMethodHandler thisIM;    /**     * get the input method handler.     * @return the current input method handler.     */    public static InputMethodHandler getInputMethodHandler() {        if (thisIM != null) {            return thisIM;        }        thisIM = getInputMethodHandlerImpl();        return thisIM;    }    /**     * get the input handler class.     * @return handle to input method handlet.     */    private static InputMethodHandler getInputMethodHandlerImpl() {        try {            String n =		Configuration.getProperty(                    "com.sun.midp.lcdui.inputMethodHandler");            if (n != null) {                Class c = Class.forName(n);                return (InputMethodHandler) c.newInstance();            }            String loc = Configuration.getProperty("microedition.locale");            if (loc != null) {                /*                  * This only check for the first '-' in the locale, and                 * convert to '_' for Class.forName() to work.                 */                int hyphen;                if ((hyphen = loc.indexOf('-')) != -1) {                    StringBuffer tmploc = new StringBuffer(loc);		    tmploc.setCharAt(hyphen, '_');		    loc = tmploc.toString();                }                String cls                    = "com.sun.midp.lcdui.i18n.DefaultInputMethodHandler_";                while (true) {                    try {                        Class c = Class.forName(cls + loc);                        return (InputMethodHandler) c.newInstance();                    } catch (Throwable t) {}                    int pos = loc.lastIndexOf('_');                    if (pos == -1) {                        break;                    } else {                        loc = loc.substring(0, pos);                    }                }            }            Class c =                 Class.forName("com.sun.midp.lcdui.DefaultInputMethodHandler");            return (InputMethodHandler) c.newInstance();        } catch (Throwable t) {                        System.out.println(t);          	    throw new Error("Textbox input method was not initialized.");        }    }    /**     * Set the InputMethodClient object to the InputMethod.     * @param imc save the current input method client.     */    public abstract void setInputMethodClient(InputMethodClient imc);    /**     * Clears the current input handler if it matches the specified one.     * Any pending keys are first sent to the client.     *     * @param imc the client that was set to receive callbacks     * @return true if the current client was cleared, false otherwise     */    public abstract boolean clearInputMethodClient(InputMethodClient imc);    /**     * Called when a key is pressed.     * @param keyCode The key code of the key that was pressed     * @return the key code of the actual key that was input. This may     *         depend on the keymap in use. -1 if no immediate decision     *         could be made, in which case a call back may occur in the future.     */    public abstract int keyPressed(int keyCode);    /**     * Called when a key is released.     * @param keyCode The key code of the key that was released     * @return the key code of the key released     */    public abstract int keyReleased(int keyCode);    /**     * Called when a key is repeated.     * @param keyCode The key code of the key that was repeated     * @return the key code of the key repeated     */    public abstract int keyRepeated(int keyCode);    /**     * Called when a key is repeated.     * @param c The key code of the key that was repeated     * @return the key code of the actual key that was input. This may     *         depend on the keymap in use. -1 if no immediate decision     *         could be made, in which case a call back may occur in the future.     */    public abstract int keyTyped(char c);    /**     * Removes any pending key presses     */    public abstract void flush();    /**     * Return the supported input modes.     * @return array of strings of supported input modes.     */    public abstract String[] supportedInputModes();    /**     * set the constraints, modifiers, and other data structures that     * depend on them.     *     * @param constraints constraints to set. See TextField for values     * @return true if the constraints were set, false otherwise     */    public abstract boolean setConstraints(int constraints);     /**     * Determine whether the character is considered a symbol     *     * @param c character to test     * @return true if the character is considered a symbol, false otherwise     */    public boolean isSymbol(char c) {         return false;    }      /**     * End the on-going composition. Any keys that are pending are     * conditionally sent to the client.     *     * @param discard true to discard any pending keys     */    public abstract void endComposition(boolean discard);}

⌨️ 快捷键说明

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