Exemple #1
0
  @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();
        }
      }
    }
  }