| 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(); } } |