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

📄 mainmenu.java

📁 使用Java语言写的QQ程序
💻 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) fieldsfirst ansi 

import javax.microedition.lcdui.*;

public class MainMenu
    implements CommandListener, HttpPosterListener
{

    private final int C_Menu_Main = 0;
    private final int C_Menu_CurFriend = 1;
    private final int C_Menu_Finger = 2;
    private final int C_Menu_AddFriend = 3;
    private final int C_Menu_SysMsg = 4;
    private final int C_Menu_Control = 5;
    private final int C_Menu_BlackList = 6;
    private final int C_Menu_ClearLogin = 7;
    private final int C_Menu_List = 8;
    private final int C_Menu_ChangeStat = 9;
    private final int C_Menu_Send = 10;
    private final int C_Menu_Receive = 11;
    private final int C_Menu_GetInfor = 12;
    private final int C_Menu_History = 13;
    private final int C_Menu_Delete = 14;
    private final int C_Menu_AddThis = 15;
    private final int C_Menu_AddToBlackList = 16;
    private final int C_Menu_SelfOnline = 50;
    private final int C_Menu_SelfAway = 51;
    private final int C_Menu_SelfInvisible = 52;
    private List menuList;
    private String listItem[];
    private String listItem1[];
    private String listItem3[];
    private String listItem4[];
    private int curMenu;
    private int aMenuIDs[];
    private long curUIN;
    protected Command cmdOk;
    protected Command cmdDel;
    protected Command cmdBackToMainMenu;
    protected Command cmdBackToFriendList;
    protected Command cmdCancel;
    private Form operateForm;

    public MainMenu()
    {
        menuList = null;
        listItem = null;
        listItem1 = null;
        listItem3 = null;
        listItem4 = null;
        aMenuIDs = new int[12];
        cmdOk = null;
        cmdDel = null;
        cmdBackToMainMenu = null;
        cmdBackToFriendList = null;
        cmdCancel = null;
        curMenu = 0;
        curUIN = 0L;
    }

    public void init()
    {
        listItem = (new String[] {
            KQQMIDlet.sysString.sCurFriend, KQQMIDlet.sysString.sFinger, KQQMIDlet.sysString.sAddFriend, KQQMIDlet.sysString.sSysMessageMenu, KQQMIDlet.sysString.sFlowControlOff, KQQMIDlet.sysString.sCheckBlackList, KQQMIDlet.sysString.sRemoveLoginInfor, KQQMIDlet.sysString.sFriendList, KQQMIDlet.sysString.sChangeStat
        });
        listItem1 = (new String[] {
            KQQMIDlet.sysString.sMenuSendMessage, KQQMIDlet.sysString.sMenuGetInfor, KQQMIDlet.sysString.sMenuHistory, KQQMIDlet.sysString.sDeleteFriend, KQQMIDlet.sysString.sAddToBlackList
        });
        listItem4 = (new String[] {
            KQQMIDlet.sysString.sOnline, KQQMIDlet.sysString.sLeave, KQQMIDlet.sysString.sInvisible
        });
        cmdOk = new Command(KQQMIDlet.sysString.sYes, 1, 1);
        cmdDel = new Command(KQQMIDlet.sysString.sDelete, 1, 1);
        cmdBackToMainMenu = new Command(KQQMIDlet.sysString.sBack, 2, 2);
        cmdBackToFriendList = new Command(KQQMIDlet.sysString.sBack, 2, 2);
        cmdCancel = new Command(KQQMIDlet.sysString.sCancel, 2, 2);
    }

    public void deleteFriend(String s)
    {
        KQQMIDlet.httpPoster.delFriend(s, this);
    }

    public void commandAction(Command command, Displayable displayable)
    {
        if(command == cmdOk)
        {
            listAction();
            return;
        }
        if(command == cmdDel)
        {
            KQQMIDlet.mainForm.show();
            deleteFriend(Long.toString(curUIN));
            return;
        }
        if(command == cmdBackToMainMenu)
        {
            showMenu(0);
            return;
        }
        if(command == cmdBackToFriendList || command == cmdCancel)
        {
            KQQMIDlet.mainForm.show();
            return;
        }
        if(command == List.SELECT_COMMAND)
            listAction();
    }

    private void listAction()
    {
        switch(aMenuIDs[menuList.getSelectedIndex()])
        {
        case 1: // '\001'
            showMenu(1);
            break;

        case 8: // '\b'
            showMenu(8);
            break;

        case 2: // '\002'
            KQQMIDlet.finger.show();
            break;

        case 9: // '\t'
            showMenu(9);
            break;

        case 11: // '\013'
            KQQMIDlet.getMsgDlg.show(true, curUIN);
            break;

        case 10: // '\n'
            KQQMIDlet.sendMsgDlg.show(curUIN, false);
            break;

        case 12: // '\f'
            KQQMIDlet.mainForm.show();
            KQQMIDlet.finger.doGetInfor(Long.toString(curUIN), KQQMIDlet.mainForm.GetWindow());
            break;

        case 13: // '\r'
            KQQMIDlet.historyMsg.show(curUIN);
            break;

        case 14: // '\016'
            KQQMIDlet.instance.showMessage(KQQMIDlet.sysString.sTQQ, KQQMIDlet.sysString.GetCombineMsg(127, "" + curUIN), this, cmdDel, cmdCancel);
            break;

        case 15: // '\017'
            KQQMIDlet.mainForm.show();
            KQQMIDlet.addFriend.show(KQQMIDlet.mainForm.GetWindow(), Long.toString(curUIN));
            break;

        case 16: // '\020'
            KQQMIDlet.blackList.addToBlack(Long.toString(curUIN), "");
            break;

        case 4: // '\004'
            KQQMIDlet.getMsgDlg.show(false, 0L);
            break;

        case 3: // '\003'
            KQQMIDlet.addFriend.show(KQQMIDlet.mainForm.GetWindow(), null);
            break;

        case 5: // '\005'
            KQQMIDlet.getMsgDlg.switchControl();
            KQQMIDlet.mainForm.show();
            break;

        case 6: // '\006'
            KQQMIDlet.blackList.show();
            break;

        case 7: // '\007'
            PkgTools.setUserInfo("0", "");
            KQQMIDlet.friendList.showInfor(KQQMIDlet.sysString.sLoginMsgDeleted);
            KQQMIDlet.mainForm.show();
            break;

        case 50: // '2'
            KQQMIDlet.httpPoster.changeStat("10", this);
            KQQMIDlet.friendList.changeSelfState(10);
            KQQMIDlet.mainForm.show();
            break;

        case 51: // '3'
            KQQMIDlet.httpPoster.changeStat("30", this);
            KQQMIDlet.friendList.changeSelfState(30);
            KQQMIDlet.mainForm.show();
            break;

        case 52: // '4'
            KQQMIDlet.httpPoster.changeStat("40", this);
            KQQMIDlet.friendList.changeSelfState(40);
            KQQMIDlet.mainForm.show();
            break;
        }
    }

    public void show(long l)
    {
        curUIN = l;
        showMenu(0);
    }

    public void show()
    {
        showMenu(0);
    }

    private void showMenu(int i)
    {
        curMenu = i;
        switch(i)
        {
        case 2: // '\002'
        case 3: // '\003'
        case 4: // '\004'
        case 5: // '\005'
        case 6: // '\006'
        case 7: // '\007'
        default:
            break;

        case 0: // '\0'
            boolean flag = false;
            boolean flag1 = false;
            menuList = new List(KQQMIDlet.sysString.sMainMenu, 3, listItem, null);
            int j = 0;
            if(curUIN == 0L)
                flag = true;
            else
                aMenuIDs[j++] = 1;
            aMenuIDs[j++] = 2;
            aMenuIDs[j++] = 3;
            if(KQQMIDlet.getMsgDlg.getSysMsgNum() == 0)
                flag1 = true;
            else
                aMenuIDs[j++] = 4;
            if(!KQQMIDlet.getMsgDlg.getControl())
                menuList.set(4, KQQMIDlet.sysString.sFlowControlOn, null);
            if(flag1)
                menuList.delete(3);
            if(flag)
                menuList.delete(0);
            int l = 5;
            for(; j < 12; j++)
                aMenuIDs[j] = l++;

            menuList.addCommand(cmdBackToFriendList);
            menuList.setCommandListener(this);
            break;

        case 1: // '\001'
            menuList = new List(KQQMIDlet.sysString.sCurFriend, 3, listItem1, null);
            menuList.addCommand(cmdBackToMainMenu);
            menuList.setCommandListener(this);
            if(KQQMIDlet.getMsgDlg.findMsgByUIN(curUIN) >= 0)
            {
                aMenuIDs[0] = 11;
                menuList.set(0, KQQMIDlet.sysString.sReadMessage, null);
            } else
            {
                aMenuIDs[0] = 10;
                menuList.set(0, KQQMIDlet.sysString.sMenuSendMessage, null);
            }
            aMenuIDs[1] = 12;
            aMenuIDs[2] = 13;
            if(KQQMIDlet.friendList.iGroup == 1)
            {
                aMenuIDs[3] = 14;
            } else
            {
                aMenuIDs[3] = 15;
                menuList.set(3, KQQMIDlet.sysString.sMenuAddToFriendList, null);
            }
            aMenuIDs[4] = 16;
            break;

        case 8: // '\b'
            operateForm = new Form(KQQMIDlet.sysString.sFriendList);
            operateForm.append(KQQMIDlet.sysString.sInst);
            operateForm.addCommand(cmdBackToMainMenu);
            operateForm.setCommandListener(this);
            KQQMIDlet.display.setCurrent(operateForm);
            return;

        case 9: // '\t'
            menuList = new List(KQQMIDlet.sysString.sChangeStat, 3);
            int k = 0;
            if(KQQMIDlet.friendList.iSelfState != 10)
            {
                aMenuIDs[k++] = 50;
                menuList.append(listItem4[0], null);
            }
            if(KQQMIDlet.friendList.iSelfState != 30)
            {
                aMenuIDs[k++] = 51;
                menuList.append(listItem4[1], null);
            }
            if(KQQMIDlet.friendList.iSelfState != 40)
            {
                aMenuIDs[k++] = 52;
                menuList.append(listItem4[2], null);
            }
            menuList.addCommand(cmdBackToMainMenu);
            menuList.setCommandListener(this);
            break;
        }
        menuList.setSelectedIndex(0, true);
        KQQMIDlet.display.setCurrent(menuList);
    }

    public void receiveHttpResponse(String s)
    {
        String s1 = PkgTools.GetParaVal("CMD", s).toUpperCase();
        String s2 = PkgTools.GetParaVal("RES", s);
        String s3 = PkgTools.GetParaVal("SEQ", s);
        if(s1.equals("DELFROMLIST") && s2.equals("0"))
        {
            KQQMIDlet.friendList.showInfor(KQQMIDlet.sysString.sDeleteSucceed);
            String s4 = KQQMIDlet.httpPoster.getUINbySeq(s3);
            if(s4 == null)
                return;
            KQQMIDlet.friendRecord.deleteRecord(s4);
            KQQMIDlet.friendRecord.addStrangerRecord(s4);
            KQQMIDlet.friendList.buildFriendList();
        }
    }

    public void handleHttpError(String s)
    {
    }
}

⌨️ 快捷键说明

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