package iqq.im; import iqq.im.bean.QQBuddy; import iqq.im.bean.QQStatus; import iqq.im.bean.QQUser; import iqq.im.core.QQModule; import iqq.im.event.QQActionEvent; import iqq.im.module.BuddyModule; import iqq.im.module.UserModule; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.List; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; /** * @author ChenZhiHui * @create-time 2013-2-23 */ public class BuddyTest { private static JFrame frame = MyWebQQClientTest.getFrame(); private static WebQQClient client = MyWebQQClientTest.getClient(); private final static UserModule userModule = (UserModule) client.getModule(QQModule.Type.USER); /** * buddy */ public static void test() { // 获取好友头像 JButton btnGetBuddyFace = new JButton("Get Buddy Face"); frame.add(btnGetBuddyFace); btnGetBuddyFace.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String uinStr = JOptionPane.showInputDialog("Uin"); getBuddyFace(Long.parseLong(uinStr)); } }); JButton btnGetBuddyInfo = new JButton("Get Buddy Info"); frame.add(btnGetBuddyInfo); btnGetBuddyInfo.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String uinStr = JOptionPane.showInputDialog("Uin"); getBuddyInfo(Long.parseLong(uinStr)); } }); JButton btnGetBuddyAccout = new JButton("Get Buddy Accout"); frame.add(btnGetBuddyAccout); btnGetBuddyAccout.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String uinStr = JOptionPane.showInputDialog("Uin"); getBuddyAccout(Long.parseLong(uinStr)); } }); JButton btnGetBuddySign = new JButton("Get Buddy Sign"); frame.add(btnGetBuddySign); btnGetBuddySign.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String uinStr = JOptionPane.showInputDialog("Uin"); try { getBuddySign(Long.parseLong(uinStr)); } catch (Exception e1) { e1.printStackTrace(); } } }); JButton btnGetOnlineBuddy = new JButton("Get Online Buddy"); frame.add(btnGetOnlineBuddy); btnGetOnlineBuddy.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { getOnlineBuddy(); } }); JButton btnChangeBuddyStatus = new JButton("Change User status"); frame.add(btnChangeBuddyStatus); btnChangeBuddyStatus.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { client.changeStatus(QQStatus.AWAY, new QQActionListener() { @Override public void onActionEvent(QQActionEvent event) { // TODO Auto-generated method stub } }); } }); } /** * */ protected static void getOnlineBuddy() { BuddyModule mod = client.getModule(QQModule.Type.BUDDY); mod.getOnlineBuddy(new QQActionListener() { @Override public void onActionEvent(QQActionEvent event) { if (event.getType() == QQActionEvent.Type.EVT_OK) { List list = (List) event.getTarget(); JOptionPane.showMessageDialog(frame, "Online Count:" + list.size()); } } }); } /** * */ protected static void getBuddyAccout(long uin) { QQUser user = client.getStore().getBuddyByUin(uin); userModule.getUserAccount(user, new QQActionListener() { @Override public void onActionEvent(QQActionEvent event) { System.out.println("getBuddyAccout:" + event.getType()); } }); } /** * */ protected static void getBuddyInfo(long uin) { QQUser user = client.getStore().getBuddyByUin(uin); userModule.getUserInfo(user, new QQActionListener() { @Override public void onActionEvent(QQActionEvent event) { System.out.println("getBuddyInfo:" + event.getType()); } }); } /** * 获取好友头像 */ public static void getBuddyFace(final long uin) { QQUser user = client.getStore().getBuddyByUin(uin); userModule.getUserFace(user, new QQActionListener() { @Override public void onActionEvent(QQActionEvent event) { if (event.getType() == QQActionEvent.Type.EVT_OK) { QQBuddy buddy = (QQBuddy) event.getTarget(); Icon icon = new ImageIcon(buddy.getFace()); JOptionPane.showMessageDialog(frame, "nick:" + buddy.getNickname(), "UIN:" + buddy.getUin(), JOptionPane.OK_OPTION, icon); } } }); } /** * 获取签名 * * @throws QQException */ public static void getBuddySign(final long uin) throws QQException { QQUser user = client.getStore().getBuddyByUin(uin); userModule.getUserSign(user, new QQActionListener() { @Override public void onActionEvent(QQActionEvent event) { System.out.println("getBuddySign:" + event.getType()); if (event.getType() == QQActionEvent.Type.EVT_OK) { QQBuddy buddy = (QQBuddy) event.getTarget(); JOptionPane.showMessageDialog(frame, buddy.getSign()); } } }); } }