class MSNAdapter extends MsnAdapter {
MSNMessenger messenger;
public MSNAdapter(MSNMessenger messenger) {
this.messenger = messenger;
}
/**
* 某人正在输入信息
*/
public void progressTyping(
SwitchboardSession ss,
MsnFriend friend,
String typingUser) {
System.out.println(friend.getLoginName() + "正在输入信息...");
}
/**
* 收到消息的时候执行该方法
*/
public void instantMessageReceived(
SwitchboardSession ss,
MsnFriend friend,
MimeMessage mime) {
System.out.print("接收到消息:" + friend.getFriendlyName() + "->");
System.out.println(mime.getMessage());
try {
//发送相同的回复信息给发送者
messenger.sendMessage(friend.getLoginName(), mime);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 登录成功后执行该方法
*/
public void loginComplete(MsnFriend own) {
System.out.println(own.getLoginName() + " Login OK");
}
/**
* 登录失败后执行该方法
*/
public void loginError(String header) {
System.out.println("Login Failed: " + header);
}
/**
* 好友离线时执行该方法
*/
public void userOffline(String loginName) {
System.out.println("USER " + loginName + " Logout.");
}
/**
* 好友上线时执行该方法
*/
public void userOnline(MsnFriend friend) {
System.out.println("USER "+friend.getFriendlyName()+" Login.");
}
/**
* 有人加我为好友时执行
*/
public void whoAddedMe(MsnFriend friend) {
System.out.println("USER " + friend.getLoginName() + " Addme.");
try {
messenger.addFriend(friend.getLoginName());
} catch (Exception e) {
e.printStackTrace();
}
}
|