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

📄 bj.java

📁 经过反编译和部分代码修改后的ultraimpro java源代码。可在netbean环境下成功编译。供学习和分析用。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov  Date: 2006-5-1 19:31:42
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 

import java.io.InputStream;
import java.util.*;
import javax.microedition.io.file.FileConnection;
import javax.microedition.lcdui.*;

public final class bj
    implements CommandListener, an
{

    public bj(String s, String s1, String s2, String s3, bd bd1)
    {
        f_boolean_fld = true;
        a_int_fld = 2;
        a_java_lang_String_fld = s;
        b_java_lang_String_fld = s1;
        c_java_lang_String_fld = s2;
        d_java_lang_String_fld = s3;
        a_bd_fld = bd1;
        c_boolean_fld = false;
        d_boolean_fld = false;
        e_boolean_fld = false;
        g_boolean_fld = false;
        c("To: ", 0);
        a_am_fld = am.GetObject();
        a_java_util_Vector_fld = new Vector();
        a_l_fld = l.GetObject();
        if(b_int_static_fld == 0)
        {
            b_int_static_fld = a_l_fld.c;
            a_javax_microedition_lcdui_Font_static_fld = a_l_fld.a_javax_microedition_lcdui_Font_fld;
            c_int_static_fld = b_int_static_fld / 2;
            e_int_static_fld = c_int_static_fld - a_javax_microedition_lcdui_Font_static_fld.stringWidth(".. : ");
            f_int_static_fld = a_javax_microedition_lcdui_Font_static_fld.stringWidth(" : ");
            d_int_static_fld = a_am_fld.b_int_fld;
            g_int_static_fld = a_l_fld.f;
            //l_int_fld= b_int_static_fld - 2 * b_int_static_fld;
            l_int_fld = 2;
            k();
        }
        a_int_fld = l_int_fld;
        if(!s1.equals("Multiway"))
        {
            b_java_util_Vector_fld = new Vector(3);
            h_int_fld = a(s2, b_java_util_Vector_fld);
        }
        c_java_util_Vector_static_fld = new Vector(3);
        i = a(bd1.d_java_lang_String_fld, c_java_util_Vector_static_fld);
        a_boolean_fld = true;
        b_boolean_fld = false;
        h_boolean_fld = false;
    }

    public static final void a(int i1)
    {
        g_int_static_fld = i1;
    }

    public final void a(boolean flag)
    {
        b_boolean_fld = flag;
        e();
    }

    public final void a(String s)
    {
        d_java_lang_String_fld = s;
        e();
    }

    public final void b(boolean flag)
    {
        c_boolean_fld = flag;
        e();
    }

    public final void c(boolean flag)
    {
        e_boolean_fld = flag;
        e();
    }

    public final void b(String s)
    {
        c_java_lang_String_fld = s;
        e();
        if(s.equals("Multiway"))
        {
            b_java_util_Vector_fld = null;
            return;
        } else
        {
            b_java_util_Vector_fld = new Vector(3);
            h_int_fld = a(c_java_lang_String_fld, b_java_util_Vector_fld);
            return;
        }
    }

    public final void c(String s)
    {
        c_java_util_Vector_static_fld = new Vector(3);
        i = a(a_bd_fld.d_java_lang_String_fld, c_java_util_Vector_static_fld);
    }

    public final void a(Vector vector)
    {
        a_java_lang_String_array2d_fld = ay.a(vector);
    }

    public final synchronized void a(String s, String s1)
    {
        if(s.equals(a_bd_fld.d_java_lang_String_fld))
        {
            a(c_java_util_Vector_static_fld, a_java_util_Vector_fld);
            a_int_fld = i;
        } else
        if(!b_java_lang_String_fld.equals("Multiway"))
        {
            a(b_java_util_Vector_fld, a_java_util_Vector_fld);
            a_int_fld = h_int_fld;
        } else
        if(s.equals(c_java_lang_String_fld))
        {
            a(b_java_util_Vector_fld, a_java_util_Vector_fld);
            a_int_fld = h_int_fld;
        } else
        {
            a_int_fld = a(s, a_java_util_Vector_fld);
        }
        a_int_fld = a(a_int_fld, s1, 2, a_java_util_Vector_fld);
        a_int_fld = a_mod_toi();
    }

    public final synchronized void a(String s, int i1)
    {
        a_int_fld = b(a_int_fld, s, i1, a_java_util_Vector_fld);
        a_int_fld = a_mod_toi();
    }

    public final void b(String s, int i1)
    {
        String s1;
        int j1;
        if((j1 = (s1 = CompositTextBox.a_mod_tos()).length() + s.length()) > 150)
        {
            Alert alert;
            (alert = new Alert("", "Input exceed maximum", null, AlertType.WARNING)).setTimeout(-2);
            UltraIMPro.a_javax_microedition_lcdui_Display_static_fld.setCurrent(alert);
        } else
        if(j == 0)
            CompositTextBox.a(s, i1);
        else
            CompositTextBox.a(s1 + s);
        l();
    }

    public final int a(int i1, String s, int j1, Vector vector)
    {
        int k1 = s.length();
        int l1 = 0;
        Object obj = null;
        Vector vector2 = bd.a_ax_static_fld.a;
        do
        {
            if(l1 >= k1)
                break;
            s = s.substring(l1);
            Vector vector1;
            if((vector1 = ConvertEmotion(s, vector2)) == null)
                break;
            int i2 = ((Integer)vector1.elementAt(0)).intValue();
            String s1 = (String)vector1.elementAt(1);
            if(i2 > 0 && (i1 = b(i1, s.substring(0, i2), j1, vector)) == -1)
                return i1;
            if((i1 = c(i1, (String)a_am_fld.a_java_util_Hashtable_fld.get(s1), j1, vector)) == -1)
                return i1;
            l1 = i2 + s1.length();
            k1 = s.length();
        } while(true);
        if(l1 < k1)
            i1 = b(i1, s, j1, vector);
        return i1;
    }

    public final Vector ConvertEmotion(String s, Vector vector)
    {
        Vector vector3 = vector;
        int i1 = 0;
        int j1 = 0;
        int k1 = s.length();
        StringBuffer stringbuffer = new StringBuffer();
        boolean flag = false;
        for(; i1 < k1; i1++)
        {
            char c1 = s.charAt(i1);
            if(vector3 == vector)
                j1 = i1;
            int l1 = 0;
            int i2 = vector3.size();
            do
            {
                if(l1 >= i2)
                    break;
                Vector vector1 = (Vector)vector3.elementAt(l1);
                if(c1 == ((Character)vector1.elementAt(0)).charValue())
                {
                    stringbuffer.append(c1);
                    if((vector3 = (Vector)vector1.elementAt(1)) == null)
                        flag = true;
                    break;
                }
                l1++;
            } while(true);
            if(flag)
                break;
            if(l1 != i2)
                continue;
            i1 = j1;
            vector3 = vector;
            if(stringbuffer.length() > 0)
                stringbuffer.delete(0, stringbuffer.length());
        }

        if(!flag)
        {
            return null;
        } else
        {
            Vector vector2 = new Vector();
            int j2 = (i1 - stringbuffer.length()) + 1;
            vector2.addElement(new Integer(j2));
            vector2.addElement(stringbuffer.toString());
            return vector2;
        }
    }

    public final int b(int i1, String s, int j1, Vector vector)
    {
        int k1 = i1;
        int l1 = b_int_static_fld;
        int i2 = s.length();
        StringBuffer stringbuffer = new StringBuffer();
        if(j1 == 1)
            l1 = e_int_static_fld;
        Vector vector1;
        if(i1 == l_int_fld)
        {
            vector1 = new Vector(3);
            vector.addElement(vector1);
        } else
        {
            vector1 = (Vector)vector.lastElement();
        }
        int l2 = -1;
        for(int i3 = 0; i3 < i2;)
        {
            char c1;
            if((c1 = s.charAt(i3)) == '\u2028' || c1 == '\u2029')
                c1 = '\n';
            if(c1 == '\r')
            {
                i3++;
            } else
            {
                if(c1 != '\n' && c1 < ' ')
                    c1 = ' ';
                int j2;
                int k2;
                if(j1 == 1)
                {
                    j2 = i1 + a_javax_microedition_lcdui_Font_static_fld.charWidth(c1);
                    k2 = 1;
                } else
                if(c1 == ' ' || c1 == '\n')
                {
                    l2 = i3;
                    j2 = i1 + a_javax_microedition_lcdui_Font_static_fld.charWidth(c1);
                    k2 = 1;
                } else
                {
                    int ai1[];
                    j2 = (ai1 = a(i1, s.substring(i3)))[0];
                    k2 = ai1[1];
                    if(j2 == -1)
                    {
                        c1 = '\n';
                        if(l2 < 0)
                            stringbuffer.append(s.substring(i3, i3 + k2));
                        else
                            k2 = 0;
                    }
                }
                if(c1 == '\n' || j2 >= l1)
                {
                    if(stringbuffer.length() > 0)
                    {
                        String s1 = k1 + "," + j1 + "," + stringbuffer.toString();
                        vector1.addElement(s1);
                    }
                    if(j1 == 1)
                        return -1;
                    vector1 = new Vector(3);
                    vector.addElement(vector1);
                    stringbuffer.delete(0, stringbuffer.length());
                    if(c1 == ' ')
                        c1 = '\n';
                    if(c1 != '\n')
                        j2 = (j2 - i1) + l_int_fld;
                    k1 = l_int_fld;
                    l2 = -1;
                }
                if(c1 == '\n')
                {
                    i1 = l_int_fld;
                } else
                {
                    if(k2 == 1)
                        stringbuffer.append(c1);
                    else
                    if(k2 > 1)
                        stringbuffer.append(s.substring(i3, i3 + k2));
                    i1 = j2;
                }
                i3 += k2;
            }
        }

        if(stringbuffer.length() > 0)
        {
            String s2 = k1 + "," + j1 + "," + stringbuffer.toString();
            vector1.addElement(s2);
        }
        if(vector1.isEmpty() && vector.lastElement() == vector1)
            vector.removeElementAt(vector.size() - 1);
        for(; vector.size() > g_int_static_fld; vector.removeElementAt(0));
        return i1;
    }

    public final int[] a(int i1, String s)
    {
        if(s == null || s.length() == 0)
            return (new int[] {
                i1, 0
            });
        int j1 = 0;
        int k1 = s.length();
        int l1 = i1;
        for(; j1 < k1; j1++)
        {
            char c1;
            if((c1 = s.charAt(j1)) == '\u2028' || c1 == '\u2029' || c1 == '\r' || c1 == '\n' || c1 == ' ' || c1 < ' ')
                return (new int[] {
                    l1, j1
                });
            if((l1 += a_javax_microedition_lcdui_Font_static_fld.charWidth(c1)) > b_int_static_fld)
                return (new int[] {
                    -1, j1
                });
        }

        return (new int[] {
            l1, k1
        });
    }

    public final int c(int i1, String s, int j1, Vector vector)
    {
        int l1 = b_int_static_fld;
        if(j1 == 1)
            l1 = e_int_static_fld;
        Vector vector1;
        if(i1 == l_int_fld)
        {
            vector1 = new Vector(3);
            vector.addElement(vector1);
        } else
        {
            vector1 = (Vector)vector.lastElement();
        }
        int k1;
        if((k1 = i1 + d_int_static_fld) >= l1)
        {
            if(j1 == 1)
                return -1;
            vector1 = new Vector(3);
            vector.addElement(vector1);
            k1 = (k1 - i1) + l_int_fld;
            i1 = l_int_fld;
        }
        vector1.addElement("I," + i1 + "," + s);
        i1 = k1;
        for(; vector.size() > g_int_static_fld; vector.removeElementAt(0));
        return i1;
    }

    public final int a_mod_toi()
    {
        return l_int_fld;
    }

    public final void UpdateDisplay(boolean flag)
    {
        a_l_fld.a(0);
        a_l_fld.a_bj_fld = this;
        a_l_fld.a(a_java_util_Vector_fld);
        a_l_fld.a(d_java_lang_String_fld, c_java_lang_String_fld, b_boolean_fld);
        if(flag)
        {
            if(a_l_fld.isShown())
            {
                a_l_fld.repaint();
                return;
            }
            UltraIMPro.a_javax_microedition_lcdui_Display_static_fld.setCurrent(a_l_fld);
        }
    }

    public final void commandAction(Command command, Displayable displayable)
    {
        String s;
        if(command == UltraIMPro.G_CommandSend)
            if((s = CompositTextBox.a_mod_tos()) == null || (s = s.trim()).length() == 0)
            {
                return;
            } else
            {
                //SendTrialPromptMsg(); // deleted by sunhao 20060507
                ConnectionManage_ag.GetObject().SendMsnMsg(a_java_lang_String_fld, b_java_lang_String_fld, s, 1);
                a(a_bd_fld.d_java_lang_String_fld, s);
                CompositTextBox.a("");
                UpdateDisplay(true);
                return;
            }
        if(command == UltraIMPro.H_CommandEmotions)
        {
            a_am_fld.a(this, CompositTextBox.a_mod_toi());
            UltraIMPro.a_javax_microedition_lcdui_Display_static_fld.setCurrent(a_am_fld);
            return;
        }
        if(command == UltraIMPro.f_CommandBack || command == UltraIMPro.b_CommandOk)
        {
            UpdateDisplay(true);
            return;
        }
        if(command == UltraIMPro.J_CommandInsertAppend)
        {
            UltraIMPro.a_javax_microedition_lcdui_Display_static_fld.setCurrent(new SignInOptionForm(null, CompositTextBox.a_mod_tod(), 3, 0, j));
            return;
        }
        if(command == UltraIMPro.I_CommandComposeSettiongs)
            UltraIMPro.a_javax_microedition_lcdui_Display_static_fld.setCurrent(new SignInOptionForm(null, CompositTextBox.a_mod_tod(), 5, 2, MainMenuList.GetObject().c_int_fld));
    }

    public final void a()
    {
        ay ay1;
        if((ay1 = new ay(this, ay.a(a_bd_fld.a_e_fld.a_mod_toe()))).a_mod_toi() <= 0)
        {
            Alert alert;
            (alert = new Alert("", "There is no person available!", null, AlertType.INFO)).setTimeout(-2);
            UltraIMPro.a_javax_microedition_lcdui_Display_static_fld.setCurrent(alert);
            return;
        } else
        {
            UltraIMPro.a_javax_microedition_lcdui_Display_static_fld.setCurrent(ay1);
            return;
        }
    }

    public final void b()
    {
        if(b_java_lang_String_fld.equals("Multiway") && (a_java_lang_String_array2d_fld == null || a_java_lang_String_array2d_fld.length == 0))
            return;
        String s = "";

⌨️ 快捷键说明

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