@Override public void NewEvent(final CEvent e) { // if (e.IsEvent("CHANNEL")) { String cname = e.data[1]; if (channeldata.containsKey(cname)) { // CChannelInfo i = channeldata.get(cname); i.setUsercount(Integer.parseInt(e.data[2])); i.setTopic(Misc.makeSentence(e.data, 3)); } else { final CChannelInfo i = new CChannelInfo(e.data[1], Integer.parseInt(e.data[2]), Misc.makeSentence(e.data, 3)); channeldata.put(cname, i); Runnable doWorkRunnable = new Runnable() { public void run() { channeltablemodel.AddChannel(i); } }; SwingUtilities.invokeLater(doWorkRunnable); } } else if (e.data[0].equalsIgnoreCase("ENDOFCHANNELS") == true) { Runnable doWorkRunnable = new Runnable() { public void run() { channeltablemodel.fireTableDataChanged(); ChanRefreshButton.setEnabled(true); } }; SwingUtilities.invokeLater(doWorkRunnable); } else if (e.data[0].equalsIgnoreCase("LOGININFOEND") == true) { LM.protocol.SendTraffic("CHANNELS"); } }