@Subscribe public void handleEstimatedState(IMCMessage msg) { if (msg.getSrc() == systemIdToListen && msg.getAbbrev().equals(messageToListen)) { int srcEnt = msg.getHeader().getInteger("src_ent"); if (entities.containsKey(srcEnt)) { entities.get(srcEnt).setMessage(msg); } else { String title = ""; if (srcEnt != 0xff) { title = EntitiesResolver.resolveName(systemField.getText(), srcEnt); } else { title = "N/A"; } // Ignore messages relative to an Entity that is still unknown if (title == null) return; InspectorMessagePanel imp = new InspectorMessagePanel(); imp.setTitle("Source Entity: " + title); // pane.add(new JLabel("\u2206t " + (msg.getTimestamp() - // lastMessageTimeByEntity.get(srcEnt)))); if (!title.equals("N/A")) pane.add(imp, "wrap, w 600, h 200!"); else pane.add(imp, "wrap"); entities.put(srcEnt, imp); imp.setMessage(msg); try { SwingUtilities.invokeAndWait( new Runnable() { @Override public void run() { jsp.invalidate(); jsp.validate(); jsp.repaint(); } }); } catch (Exception e) { e.printStackTrace(); } } } }