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

📄 friendlist.java

📁 手机中用的MobileQQ源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// 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 FriendList extends Canvas
    implements CommandListener
{//好友列表类;

    private final int C_LineHigh = 18;
    public static final int C_Bmp_W = 14;
    private final int C_y0 = 0;
    private final int C_x0 = 6;
    private final int C_dMove = 2;
    private final int C_NullRoom = 2;
    private final int C_Status_High = 16;
    public static final int C_DrawBmpNum = 10;
    private int iDrawBmpNum;
    private int iScreenWidth;
    private int iScreenHigh;
    protected Command cmdMenu;
    protected Command cmdExit;
    protected Command cmdBack;
    protected Command cmdOKtoExit;
    private int iTimeCnt;
    public int iShowAll;
    public int iGroup;
    public int iSelfState;
    private int iStatusBarMode;
    private String strInfor;
    private int inforCnt;
    private boolean iFirstTimeToShow;
    int iaIndexBuf[];
    int iaDrawIndex[];
    private int iDrawNum;
    private int iCur;
    private int iEnd;
    private int iSelect;
    private long iCurUIN;
    Icons theIcons;
    private boolean timerOn;

    public FriendList()
    {
        iDrawBmpNum = 4;
        iScreenWidth = 160;
        iScreenHigh = 120;
        cmdMenu = null;
        cmdExit = null;
        cmdBack = null;
        cmdOKtoExit = null;
        iTimeCnt = 0;
        iShowAll = 1;
        iGroup = 1;
        iSelfState = 10;
        iStatusBarMode = 1;
        strInfor = null;
        inforCnt = 0;
        iFirstTimeToShow = true;
        iaIndexBuf = new int[300];
        iaDrawIndex = new int[10];
        iDrawNum = 0;
        iCur = 0;
        iEnd = 0;
        iSelect = 0;
        iCurUIN = 0L;
        theIcons = null;
        timerOn = false;
        iScreenWidth = getWidth();
        iScreenHigh = getHeight();
        iDrawBmpNum = (iScreenHigh - 16 - 0) / 18;
    }

    public void init()
    {
        cmdMenu = new Command(KQQMIDlet.sysString.sMenu, 1, 1);
        cmdExit = new Command(KQQMIDlet.sysString.sExit, 2, 2);
        cmdBack = new Command(KQQMIDlet.sysString.sBack, 2, 2);
        cmdOKtoExit = new Command(KQQMIDlet.sysString.sYes, 1, 1);
        addCommand(cmdExit);
        addCommand(cmdMenu);
        setCommandListener(this);
        theIcons = new Icons();
        theIcons.init();
    }

    public void changeSelfState(int i)
    {
        iSelfState = i;
    }

    public void showInfor(String s)
    {
        strInfor = s;
        inforCnt = 6;
    }

    public void changeStatusBarMode()
    {
        switch(iStatusBarMode)
        {
        case 0: // '\0'
            iStatusBarMode = 1;
            iDrawBmpNum--;
            SetMainDrawData();
            break;

        case 1: // '\001'
            iStatusBarMode = 2;
            break;

        default:
            iStatusBarMode = 1;
            break;
        }
        repaint();
    }

    public void paint(Graphics g)
    {
        Object obj = null;
        int ai[][] = {
            {
                0, 0
            }, {
                -2, 2
            }, {
                0, 0
            }, {
                2, 2
            }
        };
        int l2 = iTimeCnt % 4;
        g.setFont(Font.getFont(0, 1, 0));
        int l1 = iScreenWidth;
        int i2 = 18;
        if(inforCnt > 0)
        {
            int i = 0;
            int l = iScreenHigh - 16;
            g.setColor(255);
            g.fillRect(i, l, l1, 16);
            g.setColor(65280);
            g.drawString(strInfor, 25, l + 1, 20);
        } else
        if(iStatusBarMode > 0)
        {
            int j = 0;
            int i1 = iScreenHigh - 16;
            g.setColor(255);
            g.fillRect(j, i1, l1, 16);
            g.drawImage(theIcons.getSysImage(iSelfState / 10 - 1), iScreenWidth - 16, i1, 20);
            if(l2 > 1)
                if(KQQMIDlet.getMsgDlg.getSysMsgNum() > 0)
                {
                    g.drawImage(theIcons.getSysImage(1), 2, i1, 20);
                } else
                {
                    long l3 = KQQMIDlet.getMsgDlg.getNextNeedRead();
                    if(l3 > 0L)
                    {
                        int j2 = KQQMIDlet.friendRecord.getUserLocation(l3);
                        short word0 = KQQMIDlet.friendRecord.getFaceIDbyIndex(j2);
                        g.drawImage(theIcons.getHeadImage(word0, 10), 2, i1, 20);
                    }
                }
            g.setColor(0);
            String s;
            if(iStatusBarMode == 1)
            {
                if(iGroup == 1)
                {
                    if(iShowAll != 0)
                        s = KQQMIDlet.sysString.sAllFriend;
                    else
                        s = KQQMIDlet.sysString.sOnlineFriend;
                } else
                {
                    s = KQQMIDlet.sysString.sStranger;
                }
            } else
            {
                s = KQQMIDlet.httpPoster.GetSelfUIN();
            }
            g.drawString(s, iScreenWidth / 2, i1 + 1, 17);
        }
        g.setColor(255);
        if(iDrawNum == 0)
            g.fillRect(0, 0, iScreenWidth, i2);
        for(int k2 = 0; k2 < iDrawNum; k2++)
        {
            int k = 6;
            int j1 = 0 + k2 * 18;
            short word2 = KQQMIDlet.friendRecord.getStatebyIndex(iaDrawIndex[k2]);
            short word1 = KQQMIDlet.friendRecord.getFaceIDbyIndex(iaDrawIndex[k2]);
            if(iCur == k2)
                g.setColor(255);
            else
                g.setColor(0xffffff);
            g.fillRect(0, j1, iScreenWidth, i2);
            j1 += 2;
            long l4 = KQQMIDlet.friendRecord.getUserIDbyIndex(iaDrawIndex[k2]);
            if(KQQMIDlet.getMsgDlg.findMsgByUIN(l4) >= 0)
            {
                k += ai[l2][0];
                j1 += ai[l2][1];
            }
            g.drawImage(theIcons.getHeadImage(word1, word2), k, j1, 20);
            g.setColor(0);
            String s1 = KQQMIDlet.friendRecord.getNamebyIndex(iaDrawIndex[k2]);
            if(s1.length() == 0)
                s1 = "" + l4;
            g.drawString(s1, k + 25, j1 - 1, 20);
        }

        int k1 = 0 + iDrawNum * 18;
        if(iDrawNum == 0)
            k1 += 18;
        i2 = iScreenHigh - 16 - k1;
        if(iStatusBarMode == 0)
            i2 += 16;
        if(i2 > 0)
        {
            g.setColor(0xffffff);
            g.fillRect(0, k1, iScreenWidth, i2);
        }
    }

    public void keyPressed(int i)
    {
label0:
        switch(i)
        {
        case 49: // '1'
            OnPre();
            break;

        case 56: // '8'
            break;

        case 50: // '2'
            OnActive();
            break;

        case 51: // '3'
            OnFirst();
            break;

        case 52: // '4'
            OnNext();
            break;

        case 53: // '5'
            OnSysMsg();
            break;

        case 54: // '6'
            OnLast();
            break;

        case 42: // '*'
            if(iShowAll == 0)
                OnShowAll();
            else
                OnShowOnline();
            break;

        case 35: // '#'
            changeStatusBarMode();
            break;

        case 36: // '$'
        case 37: // '%'
        case 38: // '&'
        case 39: // '\''
        case 40: // '('
        case 41: // ')'
        case 43: // '+'
        case 44: // ','
        case 45: // '-'
        case 46: // '.'
        case 47: // '/'
        case 48: // '0'
        case 55: // '7'
        default:
            int k = getGameAction(i);
            int j;
            switch(k)
            {
            case 3: // '\003'
            case 4: // '\004'
            case 7: // '\007'
            default:
                break label0;

            case 1: // '\001'
                if(CheckMoveUp() == 0)
                    break label0;
                if(iCur > 0)
                    iCur--;
                SetMainDrawData();
                break label0;

            case 6: // '\006'
                if(CheckMoveDown() == 0)
                    break label0;
                if(iCur < iDrawBmpNum - 1)
                    iCur++;
                SetMainDrawData();
                break label0;

            case 2: // '\002'
                OnFriend();
                break label0;

            case 5: // '\005'
                OnStranger();
                break label0;

            case 8: // '\b'
                j = GetSelect();
                break;
            }
            if(j == -1)
                break;

⌨️ 快捷键说明

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