doc.getSession().onEvent(new Task() { public void receiveEvent(IRCEvent irce) { WhoisEvent we = (WhoisEvent) irce; if (!we.getNick().equalsIgnoreCase(t.data)) { cancel(); return; } final String s = "Nick: " + we.getNick() + "
" + "Name: " + we.getRealName() + "
" + "Host: " + we.getHost() + ""; EventQueue.invokeLater(new Runnable() { public void run() { JLabel label = new JLabel(s); JPopupMenu d = new JPopupMenu(); d.setBorder(BorderFactory.createLineBorder(Color.BLACK)); d.add(label); d.setSize(label.getPreferredSize()); d.setLocation(new Point(e.getXOnScreen(), e.getYOnScreen())); d.setVisible(true); } }); cancel(); } }, jerklib.events.IRCEvent.Type.WHOIS_EVENT);