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

📄 inputfield.java

📁 Sony Ericsson手机上的Facebook客户端全套代码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   InputField.java

package se.southend.drops.gui;


public class InputField
{

    public InputField()
    {
        passwordChar = '\0';
        reset();
    }

    public void press(int key)
    {
        pressChar(key, false);
    }

    public void hold(int key)
    {
        pressChar(key, true);
    }

    public void backspace()
    {
        if(buffer.length() > 0 && caretPosition > 0)
        {
            if(caretPosition == buffer.length())
                buffer.setLength(buffer.length() - 1);
            else
                buffer.deleteCharAt(caretPosition - 1);
            caretPosition--;
        }
    }

    public void placeCharacter()
    {
        state = 0;
        charNbr = -1;
        keyset = DEFAULT_LOWERCASE;
        if(inputMode == 2)
            keyset = DEFAULT_UPPERCASE;
    }

    public void caretLeft()
    {
        if(caretPosition > 0)
            caretPosition--;
    }

    public void caretRight()
    {
        if(caretPosition < buffer.length())
            caretPosition++;
    }

    public int getInputMode()
    {
        return inputMode;
    }

    public void setInputMode(int inputMode)
    {
        this.inputMode = inputMode;
    }

    public int getInputType()
    {
        return inputType;
    }

    public void setInputType(int inputType)
    {
        this.inputType = inputType;
    }

    public int getCaretPosition()
    {
        return caretPosition;
    }

    public void setCaretPosition(int pos)
    {
        caretPosition = pos;
    }

    public void empty()
    {
        reset();
    }

    private void reset()
    {
        buffer = new StringBuffer();
        setCaretPosition(0);
        placeCharacter();
    }

    private void pressChar(int key, boolean hold)
    {
        if(hold || state == 1)
            backspace();
        state = 1;
        if(hold)
            charNbr = keyset[key].length() - 1;
        else
            charNbr++;
        placeChar(key, charNbr);
    }

    private void placeChar(int key, int charNbr)
    {
        if(caretPosition == buffer.length())
            buffer.append(keyset[key].charAt(charNbr % keyset[key].length()));
        else
            buffer.insert(caretPosition, keyset[key].charAt(charNbr % keyset[key].length()));
        caretPosition++;
    }

    public String getText()
    {
        return buffer.toString();
    }

    public void setText(String text)
    {
        buffer.setLength(0);
        buffer.append(text);
    }

    public void setPasswordChar(char c)
    {
        passwordChar = c;
    }

    public String getDisplayText()
    {
        if(buffer.length() == 0)
            return new String();
        if(passwordChar == 0)
            return buffer.toString();
        int len = buffer.length();
        StringBuffer tmpBuffer = new StringBuffer(len);
        for(int i = 0; i < len; i++)
            tmpBuffer.append(passwordChar);

        if(charNbr >= 0 && caretPosition > 0 && caretPosition <= len)
            tmpBuffer.setCharAt(caretPosition - 1, buffer.charAt(caretPosition - 1));
        return tmpBuffer.toString();
    }

    public static final int INPUT_MODE_SENTENCE = 0;
    public static final int INPUT_MODE_LOWERCASE = 1;
    public static final int INPUT_MODE_UPPERCASE = 2;
    public static final int INPUT_TYPE_MULTITAP = 0;
    public static final int INPUT_TYPE_NUMERIC = 1;
    public static final int INPUT_TYPE_PREDICTIVE = 2;
    private static final int STATE_WRITE = 0;
    private static final int STATE_SWITCH = 1;
    private static final int STATE_NUMERIC = 2;
    private static final String DEFAULT_LOWERCASE[] = {
        "+0", ".,-?!'@_:;/()1", "abc\345\344\346\3402", "def\350\3513", "ghi\3544", "jkl5", "mno\361\366\370\3626", "pqrs\3377", "tuv\374\3718", "wxyz9", 
        " #*"
    };
    private static final String DEFAULT_UPPERCASE[] = {
        "+0", ".,-?!'@_:;/()1", "ABC\305\304\306\3402", "DEF\350\3113", "GHI\3544", "JKL5", "MNO\321\326\330\3626", "PQRS\3377", "TUV\334\3718", "WXYZ9", 
        " #*"
    };
    private StringBuffer buffer;
    private int inputMode;
    private int inputType;
    private String keyset[];
    private int charNbr;
    private int caretPosition;
    private int state;
    private char passwordChar;

}

⌨️ 快捷键说明

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