activityTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
detailsModel.clear();
Message m = UiHelper.uglyReEncode((String) tableModel.getValueAt(activityTable.getSelectedRow(), 1));
if (m == null) return;
for (Map.Entry<String, Object> entry : m.getParts().entrySet()) {
detailsModel.addPart(entry.getKey(), entry.getValue());
}
detailsModel.fireTableRowsUpdated(0, m.getParts().size() - 1);
detailsModel.fireTableDataChanged();
}
});
detailsTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {