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

📄 c.java

📁 MobileDict
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 

package mobiledict;

import com.siemens.mp.NotAllowedException;
import com.siemens.mp.gsm.SMS;
import com.siemens.mp.io.File;
import java.io.IOException;
import java.util.*;
import javax.microedition.lcdui.*;

// Referenced classes of package mobiledict:
//            e, a, d, MobileDict, 
//            b

public class c extends Canvas
    implements CommandListener
{
    private class a extends TimerTask
    {

        public void run()
        {
            _mthif(a);
            a = !a;
        }

        private boolean a;

        public a()
        {
            a = true;
        }
    }


    public c(a a1, String s, String s1, String s2, d d1)
    {
        _fldif = a1;
        j = e._mthfor(s);
        m = e._mthfor(s1);
        _flddo = e._mthfor(s2);
        _fldnull = j;
        g = _flddo;
        n = d1;
        _fldgoto = 0;
        _fldchar = 0;
        _fldfor = 0;
        _fldtry = 0;
        _fldint = 0;
        d = 0;
        do
        {
            int i1 = a(j, a, 95, true, 0);
            if(i1 == 0)
            {
                l[d] = j;
                d++;
                break;
            }
            l[d] = j.substring(0, i1);
            d++;
            j = j.substring(i1, j.length());
        } while(true);
        if(m.compareTo("") != 0)
        {
            k = d;
            m = String.valueOf(String.valueOf((new StringBuffer("[")).append(m).append("]")));
            do
            {
                int j1 = a(m, a, 95, true, 1);
                if(j1 == 0)
                {
                    l[d] = m;
                    d++;
                    break;
                }
                l[d] = m.substring(0, j1);
                d++;
                m = m.substring(j1, m.length());
            } while(true);
        } else
        {
            k = -1;
        }
        _fldlong = d;
        do
        {
            int k1 = a(_flddo, _fldbyte, 95, true, 2);
            if(k1 == 0)
            {
                l[d] = _flddo;
                d++;
                break;
            }
            l[d] = _flddo.substring(0, k1);
            d++;
            _flddo = _flddo.substring(k1, _flddo.length());
        } while(true);
    }

    protected void paint(Graphics g1)
    {
        h = g1;
        _mthnew();
        if(_fldfor == 1)
        {
            _fldvoid.cancel();
            _fldvoid = new Timer();
            a a1 = new a();
            _fldvoid.schedule(a1, 0L, 300L);
        } else
        if(_fldfor == 2)
            a(true);
    }

    public void hideNotify()
    {
        _fldvoid.cancel();
    }

    public void commandAction(Command command, Displayable displayable)
    {
        if(command == _fldcase[0])
        {
            if(n == null)
                _fldif._mthfor();
            else
                n.a();
        } else
        if(command == _fldcase[1])
        {
            if(MobileDict._fldcase == 0)
                _fldif.a("");
            else
                _fldif.a(_fldnull);
        } else
        if(command == _fldcase[3])
            a.c._mthif();
        else
        if(command == _fldcase[4])
            _fldif._mthdo();
        else
        if(command == _fldcase[5])
        {
            b = new TextBox(MobileDict.j.l, "", 20, 3);
            for(int i1 = 0; i1 < i.length; i1++)
                b.addCommand(i[i1]);

            a.h.setCurrent(b);
            b.setCommandListener(this);
        } else
        if(command == _fldcase[6])
        {
            Form form = new Form(MobileDict.j._flddo);
            form.append(MobileDict.j._fldgoto);
            form.addCommand(c);
            a.h.setCurrent(form);
            form.setCommandListener(this);
        } else
        if(command == c)
        {
            a.h.setCurrent(this);
            setCommandListener(this);
        } else
        if(command == i[0])
            a();
        else
        if(command == i[1])
            _mthdo();
    }

    private void a()
    {
        if(b.getString().equals(""))
            return;
        try
        {
            SMS.send(b.getString(), String.valueOf(String.valueOf((new StringBuffer(String.valueOf(String.valueOf(_fldnull)))).append("\n").append(g))));
        }
        catch(IOException ioexception) { }
        catch(NotAllowedException notallowedexception) { }
        catch(IllegalArgumentException illegalargumentexception) { }
    }

    public void _mthdo()
    {
        for(int i1 = 0; i1 < _fldcase.length; i1++)
            addCommand(_fldcase[i1]);

        a.h.setCurrent(this);
        _mthif();
        setCommandListener(this);
        System.gc();
    }

    protected void keyPressed(int i1)
    {
label0:
        switch(i1)
        {
        default:
            break;

        case -59: 
        case -13: 
            _mthfor();
            break;

        case -60: 
        case -14: 
            _mthtry();
            break;

        case -1: 
            _fldfor++;
            switch(_fldfor)
            {
            default:
                break;

            case 1: // '\001'
                if(_fldgoto >= l[_fldchar + _fldint].length() - 1)
                    _fldgoto = l[_fldchar + _fldint].length() - 1;
                if(_fldchar + _fldint < _fldlong)
                    _fldtry = a.substringWidth(l[_fldchar + _fldint], 0, _fldgoto);
                else
                    _fldtry = _fldbyte.substringWidth(l[_fldchar + _fldint], 0, _fldgoto);
                _fldelse = l[_fldchar + _fldint].substring(_fldgoto, _fldgoto + 1);
                _fldvoid.cancel();
                _fldvoid = new Timer();
                a a1 = new a();
                _fldvoid.schedule(a1, 0L, 300L);
                break label0;

            case 2: // '\002'
                _fldvoid.cancel();
                _mthif(true);
                f = _fldgoto;
                e = _fldchar;
                break label0;

            case 3: // '\003'
                String s;
                if(_fldchar == e)
                {
                    s = l[_fldchar + _fldint].substring(_fldgoto, f + 1);
                } else
                {
                    s = l[_fldchar + _fldint].substring(_fldgoto);
                    for(int j1 = _fldchar + 1; j1 < e; j1++)
                        s = String.valueOf(s) + String.valueOf(l[j1 + _fldint]);

                    s = String.valueOf(s) + String.valueOf(l[e + _fldint].substring(0, f + 1));
                }
                _fldif.a(s, 0);
                break;
            }
            break;

        case -11: 
            if(_fldfor == 0)
                break;
            _fldfor--;
            switch(_fldfor)
            {
            default:
                break;

            case 0: // '\0'
                _fldvoid.cancel();
                _mthif(false);
                break label0;

            case 1: // '\001'
                a(false);
                if(_fldgoto >= l[_fldchar + _fldint].length() - 1)
                    _fldgoto = l[_fldchar + _fldint].length() - 1;
                if(_fldchar + _fldint < _fldlong)
                    _fldtry = a.substringWidth(l[_fldchar + _fldint], 0, _fldgoto);
                else
                    _fldtry = _fldbyte.substringWidth(l[_fldchar + _fldint], 0, _fldgoto);
                _fldelse = l[_fldchar + _fldint].substring(_fldgoto, _fldgoto + 1);
                _fldvoid.cancel();
                _fldvoid = new Timer();
                a a2 = new a();
                _fldvoid.schedule(a2, 0L, 300L);
                break;
            }
            break;

        case -61: 
            if(_fldfor == 0)
                _fldif._mthdo();
            else
                _mthbyte();
            break;

        case -62: 
            if(_fldfor == 0)
            {
                if(n == null)
                    _fldif._mthfor();
                else
                    n.a();
            } else
            {
                _mthint();
            }
            break;

        case -12: 
            if(MobileDict._fldcase == 0)
                _fldif.a("");
            else
                _fldif.a(_fldnull);
            break;
        }
    }

    protected void keyRepeated(int i1)
    {
        switch(i1)
        {
        case -59: 
        case -13: 
            _mthfor();
            break;

        case -60: 
        case -14: 
            _mthtry();
            break;

        case -61: 
            _mthbyte();
            break;

        case -62: 
            _mthint();
            break;
        }
    }

    private void _mthfor()
    {
        if(_fldfor == 0)
        {
            if(_fldint <= 0)
                return;
            _fldint--;
            _mthnew();
        } else
        if(_fldfor == 1)
        {
            if(_fldchar + _fldint == 0)
                return;
            if(_fldchar == 0)
                return;
            if(_fldchar + _fldint == _fldlong && k > 0)
            {
                if(_fldint < k)
                {
                    _mthif(false);
                    _fldchar = k - 1 - _fldint;
                } else
                {
                    return;
                }
            } else
            {
                _mthif(false);
                _fldchar--;
            }
            if(_fldgoto >= l[_fldchar + _fldint].length() - 1)
                _fldgoto = l[_fldchar + _fldint].length() - 1;
            if(_fldchar + _fldint < _fldlong)
                _fldtry = a.substringWidth(l[_fldchar + _fldint], 0, _fldgoto);
            else
                _fldtry = _fldbyte.substringWidth(l[_fldchar + _fldint], 0, _fldgoto);
            _fldelse = l[_fldchar + _fldint].substring(_fldgoto, _fldgoto + 1);
            _mthif(true);
        } else
        if(_fldfor == 2)
        {
            if(_fldchar == e || e == 0)
                return;
            a(false);
            e--;
            if(f >= l[e + _fldint].length() - 1)
                f = l[e + _fldint].length() - 1;
            if(_fldchar == e && f < _fldgoto)
                f = _fldgoto;
            a(true);
        }
    }

    private void _mthtry()
    {
        if(_fldfor == 0)
        {
            if(d <= 6 || _fldint >= d - 6)
                return;
            _fldint++;
            _mthnew();
        } else
        if(_fldfor == 1)
        {
            if(_fldchar + _fldint + 1 == d)
                return;
            if(d > 6)
            {
                if(_fldchar == 5)
                    return;
            } else
            if(_fldchar == d - 1)
                return;
            if(_fldchar + _fldint + 1 == k)
            {
                if(_fldint + 5 >= _fldlong)
                {
                    _mthif(false);
                    _fldchar = _fldlong - _fldint;
                } else
                {
                    return;
                }
            } else
            {
                _mthif(false);
                _fldchar++;
            }
            if(_fldgoto >= l[_fldchar + _fldint].length() - 1)
                _fldgoto = l[_fldchar + _fldint].length() - 1;
            if(_fldchar + _fldint < _fldlong)
                _fldtry = a.substringWidth(l[_fldchar + _fldint], 0, _fldgoto);
            else
                _fldtry = _fldbyte.substringWidth(l[_fldchar + _fldint], 0, _fldgoto);
            _fldelse = l[_fldchar + _fldint].substring(_fldgoto, _fldgoto + 1);
            _mthif(true);
        } else
        if(_fldfor == 2)
        {
            if(d > 6)
            {
                if(e == 5)
                    return;
            } else
            if(e == d - 1)
                return;
            if(e + 1 == k || e + 1 == _fldlong)
                return;
            e++;
            if(f >= l[e + _fldint].length() - 1)
                f = l[e + _fldint].length() - 1;
            a(true);
        }
    }

    private void _mthbyte()
    {
        if(_fldfor == 1)
        {
            if(_fldgoto == 0)
            {
                if(_fldchar + _fldint == 0)
                    return;
                if(_fldchar == 0)
                    return;
                if(_fldchar + _fldint == _fldlong && k > 0)
                {
                    if(_fldint < k)
                    {
                        _mthif(false);
                        _fldchar = k - 1 - _fldint;
                    } else
                    {
                        return;
                    }
                } else
                {
                    _mthif(false);
                    _fldchar--;
                }
                _fldgoto = l[_fldchar + _fldint].length() - 1;
            } else
            {
                _mthif(false);

⌨️ 快捷键说明

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