📄 mlistitem.java
字号:
import javax.microedition.lcdui.Graphics;
public class MListItem
{
public static byte BUDDY_ITEM = 0;
public static byte CHAT_SESSION_ITEM = 1;
public byte type;
Buddy buddy;
ChatSession chatSession;
boolean selected;
public MListItem(Buddy buddy1)
{
type = BUDDY_ITEM;
type = BUDDY_ITEM;
buddy = buddy1;
buddy.item = this;
}
public MListItem(ChatSession chatsession)
{
type = BUDDY_ITEM;
chatSession = chatsession;
chatSession.item = this;
type = CHAT_SESSION_ITEM;
}
public void paint(int i, int j, Graphics g)
{
if(buddy != null)
paintBuddy(i, j, g);
else
paintChatSession(i, j, g);
}
private void paintChatSession(int i, int j, Graphics g)
{
g.setColor(0);
if(chatSession.uris == null)
g.setColor(0x666666);
else
if(chatSession.uris.size() == 1)
MCanvas.blt(MCanvas.img_BigIcon, Setting.BUDDY_ICON_SIZE * 4, 0, Setting.BUDDY_ICON_SIZE, Setting.BUDDY_ICON_SIZE, i, j, g);
else
MCanvas.blt(MCanvas.img_BigIcon, Setting.BUDDY_ICON_SIZE * 5, 0, Setting.BUDDY_ICON_SIZE, Setting.BUDDY_ICON_SIZE, i, j, g);
StringBuffer stringbuffer = new StringBuffer();
if(chatSession.unReadMessageCount > 0)
{
g.setColor(0xff0000);
stringbuffer.append('[');
stringbuffer.append(chatSession.unReadMessageCount);
stringbuffer.append("新消息");
stringbuffer.append(']');
}
if(selected)
g.setColor(0xffffff);
stringbuffer.append(chatSession.getTitle());
int k = Setting.WIDTH - Setting.BUDDY_ICON_SIZE - 2;
g.drawString(adjustDrawString(stringbuffer.toString(), k), i + Setting.BUDDY_ICON_SIZE + 1, j + 0, 20);
}
private String adjustDrawString(String s, int i)
{
int j = MMIDlet.DEFAULT_FONT.stringWidth(s);
if(j > i)
{
int k = MMIDlet.DEFAULT_FONT.stringWidth("...");
int l = s.length();
while (j > i)
{
j = k + MMIDlet.DEFAULT_FONT.stringWidth(s.substring(0, --l));
}
return s.substring(0, l) + "...";
} else
{
return s;
}
}
private void paintBuddy(int i, int j, Graphics g)
{
if(buddy.isOnline())
{
MCanvas.blt(MCanvas.img_BigIcon, 0, 0, Setting.BUDDY_ICON_SIZE, Setting.BUDDY_ICON_SIZE, i, j, g);
g.setColor(0);
if(!buddy.isActive())
if(buddy.isBusy())
MCanvas.blt(MCanvas.img_BigIcon, Setting.BUDDY_ICON_SIZE * 11, 0, Setting.BUDDY_ICON_SIZE, Setting.BUDDY_ICON_SIZE, i, j, g);
else
MCanvas.blt(MCanvas.img_BigIcon, Setting.BUDDY_ICON_SIZE * 12, 0, Setting.BUDDY_ICON_SIZE, Setting.BUDDY_ICON_SIZE, i, j, g);
} else
if(buddy.isSMSOnline())
{
MCanvas.blt(MCanvas.img_BigIcon, 0, 0, Setting.BUDDY_ICON_SIZE, Setting.BUDDY_ICON_SIZE, i, j, g);
g.setColor(0xffbb00);
} else
{
MCanvas.blt(MCanvas.img_BigIcon, Setting.BUDDY_ICON_SIZE, 0, Setting.BUDDY_ICON_SIZE, Setting.BUDDY_ICON_SIZE, i, j, g);
g.setColor(0x666666);
}
if(buddy.isCancelService())
g.setColor(0x666666);
if(selected)
g.setColor(0xffffff);
int k = Setting.WIDTH - Setting.BUDDY_ICON_SIZE - MMIDlet.DEFAULT_FONT.stringWidth(buddy.getPresenceDrawString()) - 2;
g.drawString(adjustDrawString(buddy.getNickNameDrawString(), k), i + Setting.BUDDY_ICON_SIZE + 1, j + 0, 20);
g.drawString(buddy.getPresenceDrawString(), Setting.WIDTH - 2, j + 0, 24);
if(buddy.isBlock())
MCanvas.blt(MCanvas.img_BigIcon, Setting.BUDDY_ICON_SIZE * 7, 0, Setting.BUDDY_ICON_SIZE, Setting.BUDDY_ICON_SIZE, i, j, g);
}
public Object getObject()
{
if(type == BUDDY_ITEM)
return buddy;
else
return chatSession;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -