?? friendlist.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 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 + -