📄 jicq.java
字号:
onlineMon = new Sender(onlineCmd);
onlineMon.start();
String cmd = null;
if (jICQ.isApplet)
cmd = "GETME icqNo:" + myIcqID.icqNo + " port:" + UDPrPort;
else
{
//int i=0;boolean ew=false;
//while(i<40&&ew==false){Thread.sleep(100);if (rmsg.udpback)ew=true;}
//cmd="GETME icqNo:"+myIcqID.icqNo+" port:"+rmsg.backport;
cmd = "GETME icqNo:" + myIcqID.icqNo + " port:" + UDPrPort;
}
sender = new Sender(cmd);
sender.start();
result = sender.getReturn();
if (result.getCode() == 200)
{
}
else
{
jICQ.exitSystem = true;
exitMsg(result.getMsg());
return;
}
toHash(friends);
toID(onlineFriends);
reSort();
//begin to monitor message
}
catch (Exception e)
{
System.out.println(" MainFrame run()-log error.\n");
e.printStackTrace();
}
LOGED = true;
repaint();
try
{
//Result result=null;
try
{
myIcqID = getID(myIcqID);
myIcqID.isOnline = true;
}
catch (Exception e)
{
}
seek = new Seek(myIcqID);
Dimension currentsize, pastsize;
currentsize = pastsize = getSize();
while (jICQ.exitSystem == false)
try
{
currentsize = getSize();
if (currentsize.height != pastsize.height)
{
repaintEvt = true;
pastsize = getSize();
}
if (repaintEvt)
{
reSort();
repaint();
repaintEvt = false;
}
if (!onlineMon.isAlive())
{
onlineMon = new Sender(onlineCmd);
onlineMon.start();
}
if (duplogon)
{
setVisible(false);
exitMsg("别人正在用这个号码登录,请保护好你的密码。");
}
checkID();
Thread.sleep(100);
}
catch (Exception e)
{
System.out.println(" MainFrame.run() error:" + e);
} //end while
}
catch (Exception e)
{
System.out.println(" MainFrame run() error:" + e);
e.printStackTrace();
}
}
public void paint(Graphics g)
{
if (!LOGED)
return;
try
{
setBackground(new Color(SysInfo.backgroundcolor));
setForeground(new Color(SysInfo.textcolor));
SysInfo.xposition = this.getLocationOnScreen().x;
SysInfo.yposition = this.getLocationOnScreen().y;
Dimension dm = getSize();
if (dm.width > 250)
setSize(250, dm.height);
if (dm.height < 175)
setSize(dm.width, 175);
dm = getSize();
int iconSize = 34;
if (SysInfo.bigIcon)
iconSize = 40;
else
iconSize = 28;
area = new int[20][4];
for (int i = 0; i < 20; i++)
{
area[i][0] = -1;
area[i][1] = -1;
area[i][2] = -1;
area[i][3] = -1;
}
int left = 5, right = 5;
int realwidth = dm.width - left - right;
area[0][0] = left;
area[0][1] = 23;
area[0][2] = area[0][0] + realwidth / 4;
area[0][3] = 40; //
area[1][0] = area[0][2] + 1;
area[1][1] = area[0][1];
area[1][2] = area[1][0] + realwidth / 4;
area[1][3] = area[0][3]; //
area[2][0] = area[1][2] + 1;
area[2][1] = area[0][1];
area[2][2] = area[2][0] + realwidth / 4;
area[2][3] = area[0][3]; //
area[3][0] = area[2][2] + 1;
area[3][1] = area[0][1];
area[3][2] = area[3][0] + realwidth / 4;
area[3][3] = area[0][3]; //
area[4][0] = left;
area[4][1] = area[3][3] + 1;
area[4][2] = area[4][0] + realwidth;
area[4][3] = dm.height - 70 - 20; //head img
area[5][0] = left + realwidth / 2 + 1;
area[5][1] = area[4][3] + 1;
area[5][2] = area[5][0] + realwidth / 4;
area[5][3] = dm.height - 70; //up
area[6][0] = area[5][2] + 1;
area[6][1] = area[4][3] + 1;
area[6][2] = area[6][0] + realwidth / 4;
area[6][3] = dm.height - 70; //down
area[7][0] = left;
area[7][1] = area[6][3] + 4;
area[7][2] = area[7][0] + realwidth;
area[7][3] = area[7][1] + 20; //add friend
area[8][0] = left;
area[8][1] = area[7][3] + 1;
area[8][2] = area[8][0] + realwidth / 2;
area[8][3] = area[8][1] + 20; //message
area[9][0] = area[8][2] + 1;
area[9][1] = area[7][3] + 1;
area[9][2] = area[9][0] + realwidth / 2;
area[9][3] = area[9][1] + 20; //modify
area[10][0] = left;
area[10][1] = area[9][3] + 1;
area[10][2] = area[10][0] + realwidth;
area[10][3] = dm.height - 5; //ver
//begin to draw image and text
if (!jICQ.isApplet)
{
Image backImg = sysinfo.getBackImage(getToolkit());
if (backImg != null)
g.drawImage(backImg, 0, 0, dm.width, dm.height, this);
}
g.drawImage(
jICQ.m0Image,
area[0][0] + (area[0][2] - area[0][0]) / 2 - 8,
area[0][3] - 16,
16,
16,
this);
g.drawImage(
jICQ.m1Image,
area[1][0] + (area[1][2] - area[1][0]) / 2 - 8,
area[1][3] - 16,
16,
16,
this);
g.drawImage(
jICQ.m2Image,
area[2][0] + (area[2][2] - area[2][0]) / 2 - 8,
area[2][3] - 16,
16,
16,
this);
g.drawImage(
jICQ.m3Image,
area[3][0] + (area[3][2] - area[3][0]) / 2 - 8,
area[3][3] - 16,
16,
16,
this);
//g.drawImage(jICQ.head[Integer.parseInt(myIcqID.picNo)][1],left+2,area[4][3]+2,18,18,this);
g.drawImage(
jICQ.upImage,
area[5][0] + (area[5][2] - area[5][0]) / 2 - 8,
area[5][3] - 17,
16,
16,
this);
g.drawImage(
jICQ.downImage,
area[6][0] + (area[6][2] - area[6][0]) / 2 - 8,
area[6][3] - 17,
16,
16,
this);
g.drawImage(
jICQ.addImage,
area[7][0] + (area[7][2] - area[7][0]) / 2 + 28,
area[7][1] + 2,
16,
16,
this);
g.drawString(
"添加好友",
area[7][0] + (area[7][2] - area[7][0]) / 2 - 24,
area[7][3] - 5);
int msgAll = message.size();
Color c = null;
String msgcount = new Integer(msgAll).toString() + " 消息";
if (msgAll > 0)
{
c = g.getColor();
g.setColor(Color.gray);
g.drawString(
msgcount,
area[8][0] + (area[8][2] - area[8][0]) / 2 - 15 + 2,
area[8][3] - 5 + 2);
g.setColor(Color.red);
}
g.drawString(
msgcount,
area[8][0] + (area[8][2] - area[8][0]) / 2 - 15,
area[8][3] - 5);
if (msgAll > 0)
g.setColor(c);
g.drawString(
"修改",
area[9][0] + (area[9][2] - area[9][0]) / 2 - 18,
area[9][3] - 5);
g.drawImage(
jICQ.modifyImage,
area[9][0] + (area[9][2] - area[9][0]) / 2 + 5,
area[9][1] + 1,
16,
16,
this);
g.drawString(
"jICQ " + jICQ.ver,
area[10][0] + (area[10][2] - area[10][0]) / 2 - 48,
area[10][3] - 5);
g.drawImage(
jICQ.logImage,
area[10][0],
area[10][1],
area[10][2] - area[10][0],
area[10][3] - area[10][1],
this);
int cell = (area[4][3] - area[4][1]) / iconSize;
Enumeration e = friend.keys();
IcqID icqid = null;
int offset = 3;
for (; e.hasMoreElements();)
{
icqid = (IcqID) friend.get((String) e.nextElement());
icqid.canShow = cell;
int i = icqid.index;
if (i >= 0 && i < cell)
{
icqid.left = 10;
icqid.top = area[0][3] + iconSize * i + offset;
icqid.right = dm.width - 11;
icqid.bottom =
area[0][3] + iconSize * i + iconSize + offset;
}
icqid.draw(this);
}
int x1, y1, x2, y2;
x1 = area[4][0];
y1 = area[4][1];
x2 = area[4][2];
y2 = area[4][3];
c = g.getColor();
g.setColor(Color.gray);
g.drawRect(x1, y1, x2 - x1, y2 - y1);
g.setColor(c);
//pastarea=1;currentarea=0;mouseMoved(area[1][0]+1,area[5][1]+1);
}
catch (Exception e)
{
System.out.println(" MainFrame paint() error:" + e);
}
}
void buildPopupMenu()
{
pm = new PopupMenu();
MenuItem[] mi = new MenuItem[mis.length];
for (menuItemIndex = 0; menuItemIndex < mis.length; menuItemIndex++)
{
mi[menuItemIndex] = new MenuItem(mis[menuItemIndex]);
mi[menuItemIndex]
.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
processMenu(e.getActionCommand());
}
});
pm.add(mi[menuItemIndex]);
}
add(pm);
modifyPM = new PopupMenu();
MenuItem[] mi1 = new MenuItem[2];
mi1[0] = new MenuItem(modifymis[0]);
mi1[0].addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
processMenu(modifymis[0]);
}
});
mi1[1] = new MenuItem(modifymis[1]);
mi1[1].addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
processMenu(modifymis[1]);
}
});
modifyPM.add(mi1[0]);
modifyPM.add(mi1[1]);
add(modifyPM);
}
void processMenu(String txt)
{
try
{
//System.out.println(" mis.length="+mis.length);
if (txt.equals(mis[0]))
sendTo();
if (txt.equals(mis[1]))
delFriend();
if (txt.equals(mis[2]))
{
IcqID icqid;
if (currenticqid.getNick().equals(currenticqid.icqNo))
{
icqid = getID(currenticqid);
repaint();
setFriend(icqid.icqNo, icqid);
}
else
icqid = currenticqid;
new SubmitID(icqid, icqid.getNick(), false, false);
}
if (txt.equals(mis[3]))
{
IcqID icqid = getID(currenticqid);
if (icqid != null)
{
setFriend(icqid.icqNo, icqid);
repaint();
}
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -