Autopsy 4.22.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
SummaryViewer.java
Go to the documentation of this file.
1/*
2 * Autopsy Forensic Browser
3 *
4 * Copyright 2019-2020 Basis Technology Corp.
5 * Contact: carrier <at> sleuthkit <dot> org
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obt ain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19package org.sleuthkit.autopsy.communications.relationships;
20
21import java.awt.CardLayout;
22import java.util.List;
23import java.util.concurrent.ExecutionException;
24import java.util.logging.Level;
25import javax.swing.DefaultListModel;
26import javax.swing.JPanel;
27import org.netbeans.swing.outline.DefaultOutlineModel;
28import org.netbeans.swing.outline.Outline;
29import org.openide.explorer.view.OutlineView;
30import org.openide.nodes.AbstractNode;
31import org.openide.nodes.Children;
32import org.openide.util.Lookup;
33import org.openide.util.NbBundle.Messages;
34import org.sleuthkit.datamodel.Account;
35import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository;
36import org.sleuthkit.autopsy.centralrepository.datamodel.Persona;
37import org.sleuthkit.autopsy.coreutils.Logger;
38
45public class SummaryViewer extends javax.swing.JPanel implements RelationshipsViewer {
46
47 private static final long serialVersionUID = 1L;
48
49 private final Lookup lookup;
50 private final DefaultListModel<String> fileRefListModel;
51
52 private static final Logger logger = Logger.getLogger(SummaryViewer.class.getName());
53
54 private SummaryPanelWorker worker;
55
56 @Messages({
57 "SummaryViewer_TabTitle=Summary",
58 "SummaryViewer_FileRefNameColumn_Title=Path",
59 "SummaryViewer_CaseRefNameColumn_Title=Case Name",
60 "SummaryViewer_CentralRepository_Message=<Enable Central Respository to see Other Occurrences>",
61 "SummaryViewer_Creation_Date_Title=Creation Date",
62 "SummaryViewer_FileRef_Message=<Select a single account to see File References>",
63 "SummaryViewer_Device_Account_Description=This account was referenced by a device in the case.",
64 "SummaryViewer_Account_Description=This account represents a device in the case.",
65 "SummaryViewer_Account_Description_MuliSelect=Summary information is not available when multiple accounts are selected.",
66 "SummaryViewer_Country_Code=Country: ",
67 "SummaryViewer_Select_account_for_persona=<Select a single account to see Persona(s)>",
68 "SummaryViewer_loading_count_message=Loading...."
69 })
70
74 public SummaryViewer() {
75 lookup = Lookup.getDefault();
77
78 fileRefListModel = new DefaultListModel<>();
80
81 OutlineView outlineView = caseReferencesPanel.getOutlineView();
82 Outline outline = outlineView.getOutline();
83 outlineView.setPropertyColumns("creationDate", Bundle.SummaryViewer_Creation_Date_Title()); //NON-NLS
84
85 outline.setRootVisible(false);
86 ((DefaultOutlineModel) outline.getOutlineModel()).setNodesColumnLabel(Bundle.SummaryViewer_CaseRefNameColumn_Title());
87
89
90 caseReferencesPanel.hideOutlineView(Bundle.SummaryViewer_CentralRepository_Message());
91 ((SummaryPersonaPane) personaPanel).setMessage(Bundle.SummaryViewer_Select_account_for_persona());
92 ((SummaryPersonaPane) personaPanel).showMessagePanel();
93 }
94
95 @Override
96 public String getDisplayName() {
97 return Bundle.SummaryViewer_TabTitle();
98 }
99
100 @Override
101 public JPanel getPanel() {
102 return this;
103 }
104
105 @Override
106 public void setSelectionInfo(SelectionInfo info) {
107
109 caseReferencesPanel.hideOutlineView(Bundle.SummaryViewer_CentralRepository_Message());
110 } else {
111 caseReferencesPanel.showOutlineView();
112 }
113
114 CardLayout cardLayout = (CardLayout) fileRefPane.getLayout();
115 cardLayout.show(fileRefPane, "selectAccountCard");
116
117 fileRefListModel.removeAllElements();
118
119 // Request is that the SummaryViewer only show information if one
120 // account is selected
121 if (info == null || info.getAccounts().size() != 1) {
122 setEnabled(false);
124
125 accoutDescriptionLabel.setText(Bundle.SummaryViewer_Account_Description_MuliSelect());
126 selectAccountFileRefLabel.setText(Bundle.SummaryViewer_FileRef_Message());
127
128 } else {
129 Account[] accountArray = info.getAccounts().toArray(new Account[1]);
130 Account account = accountArray[0];
131
132 if (account.getAccountType().getTypeName().contains("PHONE")) {
133 String countryCode = PhoneNumUtil.getCountryCode(account.getTypeSpecificID());
134 accountLabel.setText(PhoneNumUtil.convertToInternational(account.getTypeSpecificID()));
135 accountCountry.setText(Bundle.SummaryViewer_Country_Code() + countryCode);
136 accountCountry.setEnabled(true);
137 } else {
138 accountLabel.setText(account.getTypeSpecificID());
139 accountCountry.setText("");
140 accountCountry.setEnabled(false);
141 }
142
143 if (account.getAccountType().equals(Account.Type.DEVICE)) {
144 accoutDescriptionLabel.setText(Bundle.SummaryViewer_Account_Description());
145 } else {
146 accoutDescriptionLabel.setText(Bundle.SummaryViewer_Device_Account_Description());
147 }
148
149 thumbnailsDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
150 callLogsDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
151 contactsDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
152 messagesDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
153 attachmentDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
154 referencesDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
155 contactsDataLabel.setText(Bundle.SummaryViewer_loading_count_message());
156
157 caseReferencesPanel.setNode(new AbstractNode(Children.create(new CorrelationCaseChildNodeFactory(info.getAccounts()), true)));
158
159 updateOtherAccountInfo(info, account);
160
161 setEnabled(true);
162 }
163 }
164
165 @Override
166 public Lookup getLookup() {
167 return lookup;
168 }
169
175 @Override
176 public void setEnabled(boolean enabled) {
177 super.setEnabled(enabled);
178 thumbnailCntLabel.setEnabled(enabled);
179 callLogsLabel.setEnabled(enabled);
180 contactsLabel.setEnabled(enabled);
181 messagesLabel.setEnabled(enabled);
182 caseReferencesPanel.setEnabled(enabled);
183 fileRefList.setEnabled(enabled);
184 countsPanel.setEnabled(enabled);
185 attachmentsLabel.setEnabled(enabled);
186 referencesLabel.setEnabled(enabled);
187 }
188
192 private void clearControls() {
193 thumbnailsDataLabel.setText("");
194 callLogsDataLabel.setText("");
195 contactsDataLabel.setText("");
196 messagesDataLabel.setText("");
197 attachmentDataLabel.setText("");
198 accountLabel.setText("");
199 accoutDescriptionLabel.setText("");
200 referencesDataLabel.setText("");
201 accountCountry.setText("");
202
203 fileRefListModel.clear();
204 caseReferencesPanel.setNode(new AbstractNode(Children.LEAF));
205 }
206
207 @Messages({
208 "SummaryViewer_Fetching_References=<Fetching File References>",
209 "SummaryViewer_Persona_CR_Message=<Enable Central Repository to view Personas>"
210 })
211 private void updateOtherAccountInfo(SelectionInfo info, Account account) {
212 if (worker != null) {
213 worker.cancel(true);
214 }
215
216 worker = new SummaryPanelWorker(info, account) {
217 @Override
218 protected void done() {
219 if (isCancelled()) {
220 return;
221 }
222
223 try {
224 SummaryPanelWorker.SummaryWorkerResults results = get();
225
226 List<String> fileRefList = results.getPaths();
227
228 if (fileRefList != null) {
229 fileRefList.forEach(value -> {
230 fileRefListModel.addElement(value);
231 });
232 }
233
234 CardLayout cardLayout = (CardLayout) fileRefPane.getLayout();
235 cardLayout.show(fileRefPane, "listPanelCard");
236
237 List<Persona> personaList = results.getPersonaList();
238
240 ((SummaryPersonaPane) personaPanel).updatePersonaList(account, results.getCRAccount(), personaList);
241 } else {
242 ((SummaryPersonaPane) personaPanel).setMessage(Bundle.SummaryViewer_Persona_CR_Message());
243 ((SummaryPersonaPane) personaPanel).showMessagePanel();
244 }
245
246 AccountSummary summaryDetails = results.getAccountSummary();
247 thumbnailsDataLabel.setText(Integer.toString(summaryDetails.getThumbnailCnt()));
248 callLogsDataLabel.setText(Integer.toString(summaryDetails.getCallLogCnt()));
249 contactsDataLabel.setText(Integer.toString(summaryDetails.getContactsCnt()));
250 messagesDataLabel.setText(Integer.toString(summaryDetails.getMessagesCnt() + summaryDetails.getEmailCnt()));
251 attachmentDataLabel.setText(Integer.toString(summaryDetails.getAttachmentCnt()));
252 referencesDataLabel.setText(Integer.toString(summaryDetails.getReferenceCnt()));
253 contactsDataLabel.setText(Integer.toString(summaryDetails.getContactsCnt()));
254
255 } catch (InterruptedException | ExecutionException ex) {
256 logger.log(Level.WARNING, String.format(("Failed to get data for account: %d"), account.getAccountID()), ex);
257 }
258 }
259 };
260
261 selectAccountFileRefLabel.setText(Bundle.SummaryViewer_Fetching_References());
262 worker.execute();
263 }
264
270 @SuppressWarnings("unchecked")
271 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
272 private void initComponents() {
273 java.awt.GridBagConstraints gridBagConstraints;
274
275 summaryPanel = new javax.swing.JPanel();
276 accountLabel = new javax.swing.JLabel();
277 accountCountry = new javax.swing.JLabel();
278 accoutDescriptionLabel = new javax.swing.JLabel();
279 countsPanel = new javax.swing.JPanel();
280 messagesLabel = new javax.swing.JLabel();
281 callLogsLabel = new javax.swing.JLabel();
282 thumbnailCntLabel = new javax.swing.JLabel();
283 thumbnailsDataLabel = new javax.swing.JLabel();
284 messagesDataLabel = new javax.swing.JLabel();
285 callLogsDataLabel = new javax.swing.JLabel();
286 attachmentsLabel = new javax.swing.JLabel();
287 attachmentDataLabel = new javax.swing.JLabel();
288 contanctsPanel = new javax.swing.JPanel();
289 contactsLabel = new javax.swing.JLabel();
290 contactsDataLabel = new javax.swing.JLabel();
291 referencesLabel = new javax.swing.JLabel();
292 referencesDataLabel = new javax.swing.JLabel();
293 caseReferencesPanel = new org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel();
294 fileRefPane = new javax.swing.JPanel();
295 javax.swing.JPanel fileRefScrolPanel = new javax.swing.JPanel();
296 javax.swing.JScrollPane scrollPane = new javax.swing.JScrollPane();
297 fileRefList = new javax.swing.JList<>();
298 javax.swing.JPanel selectAccountPane = new javax.swing.JPanel();
299 selectAccountFileRefLabel = new javax.swing.JLabel();
301
302 setLayout(new java.awt.GridBagLayout());
303
304 summaryPanel.setLayout(new java.awt.GridBagLayout());
305
306 org.openide.awt.Mnemonics.setLocalizedText(accountLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accountLabel.text")); // NOI18N
307 gridBagConstraints = new java.awt.GridBagConstraints();
308 gridBagConstraints.gridx = 0;
309 gridBagConstraints.gridy = 0;
310 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
311 gridBagConstraints.insets = new java.awt.Insets(15, 9, 0, 9);
312 summaryPanel.add(accountLabel, gridBagConstraints);
313
314 org.openide.awt.Mnemonics.setLocalizedText(accountCountry, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accountCountry.text")); // NOI18N
315 gridBagConstraints = new java.awt.GridBagConstraints();
316 gridBagConstraints.gridx = 0;
317 gridBagConstraints.gridy = 1;
318 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
319 gridBagConstraints.insets = new java.awt.Insets(0, 9, 0, 9);
320 summaryPanel.add(accountCountry, gridBagConstraints);
321
322 org.openide.awt.Mnemonics.setLocalizedText(accoutDescriptionLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.accoutDescriptionLabel.text")); // NOI18N
323 gridBagConstraints = new java.awt.GridBagConstraints();
324 gridBagConstraints.gridx = 0;
325 gridBagConstraints.gridy = 2;
326 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
327 gridBagConstraints.weightx = 1.0;
328 gridBagConstraints.insets = new java.awt.Insets(15, 9, 15, 9);
329 summaryPanel.add(accoutDescriptionLabel, gridBagConstraints);
330
331 gridBagConstraints = new java.awt.GridBagConstraints();
332 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
333 add(summaryPanel, gridBagConstraints);
334
335 countsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.countsPanel.border.title"))); // NOI18N
336 countsPanel.setLayout(new java.awt.GridBagLayout());
337
338 org.openide.awt.Mnemonics.setLocalizedText(messagesLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.messagesLabel.text")); // NOI18N
339 gridBagConstraints = new java.awt.GridBagConstraints();
340 gridBagConstraints.gridx = 0;
341 gridBagConstraints.gridy = 0;
342 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
343 gridBagConstraints.insets = new java.awt.Insets(9, 15, 9, 15);
344 countsPanel.add(messagesLabel, gridBagConstraints);
345
346 org.openide.awt.Mnemonics.setLocalizedText(callLogsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.callLogsLabel.text")); // NOI18N
347 gridBagConstraints = new java.awt.GridBagConstraints();
348 gridBagConstraints.gridx = 0;
349 gridBagConstraints.gridy = 1;
350 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
351 gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
352 countsPanel.add(callLogsLabel, gridBagConstraints);
353
354 org.openide.awt.Mnemonics.setLocalizedText(thumbnailCntLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.thumbnailCntLabel.text")); // NOI18N
355 gridBagConstraints = new java.awt.GridBagConstraints();
356 gridBagConstraints.gridx = 0;
357 gridBagConstraints.gridy = 2;
358 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
359 gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
360 countsPanel.add(thumbnailCntLabel, gridBagConstraints);
361
362 org.openide.awt.Mnemonics.setLocalizedText(thumbnailsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.thumbnailsDataLabel.text")); // NOI18N
363 gridBagConstraints = new java.awt.GridBagConstraints();
364 gridBagConstraints.gridx = 1;
365 gridBagConstraints.gridy = 2;
366 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
367 gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
368 countsPanel.add(thumbnailsDataLabel, gridBagConstraints);
369
370 org.openide.awt.Mnemonics.setLocalizedText(messagesDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.messagesDataLabel.text")); // NOI18N
371 gridBagConstraints = new java.awt.GridBagConstraints();
372 gridBagConstraints.gridx = 1;
373 gridBagConstraints.gridy = 0;
374 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
375 gridBagConstraints.weightx = 1.0;
376 gridBagConstraints.insets = new java.awt.Insets(9, 0, 9, 15);
377 countsPanel.add(messagesDataLabel, gridBagConstraints);
378
379 org.openide.awt.Mnemonics.setLocalizedText(callLogsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.callLogsDataLabel.text")); // NOI18N
380 gridBagConstraints = new java.awt.GridBagConstraints();
381 gridBagConstraints.gridx = 1;
382 gridBagConstraints.gridy = 1;
383 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
384 gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
385 countsPanel.add(callLogsDataLabel, gridBagConstraints);
386
387 org.openide.awt.Mnemonics.setLocalizedText(attachmentsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.attachmentsLabel.text")); // NOI18N
388 gridBagConstraints = new java.awt.GridBagConstraints();
389 gridBagConstraints.gridx = 0;
390 gridBagConstraints.gridy = 3;
391 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
392 gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 15);
393 countsPanel.add(attachmentsLabel, gridBagConstraints);
394
395 org.openide.awt.Mnemonics.setLocalizedText(attachmentDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.attachmentDataLabel.text")); // NOI18N
396 gridBagConstraints = new java.awt.GridBagConstraints();
397 gridBagConstraints.gridx = 1;
398 gridBagConstraints.gridy = 3;
399 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
400 gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 15);
401 countsPanel.add(attachmentDataLabel, gridBagConstraints);
402
403 gridBagConstraints = new java.awt.GridBagConstraints();
404 gridBagConstraints.gridx = 0;
405 gridBagConstraints.gridy = 1;
406 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
407 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
408 add(countsPanel, gridBagConstraints);
409
410 contanctsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contanctsPanel.border.title"))); // NOI18N
411 contanctsPanel.setLayout(new java.awt.GridBagLayout());
412
413 contactsLabel.setLabelFor(contactsDataLabel);
414 org.openide.awt.Mnemonics.setLocalizedText(contactsLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contactsLabel.text")); // NOI18N
415 gridBagConstraints = new java.awt.GridBagConstraints();
416 gridBagConstraints.gridx = 0;
417 gridBagConstraints.gridy = 0;
418 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
419 gridBagConstraints.insets = new java.awt.Insets(9, 15, 9, 15);
420 contanctsPanel.add(contactsLabel, gridBagConstraints);
421
422 org.openide.awt.Mnemonics.setLocalizedText(contactsDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.contactsDataLabel.text")); // NOI18N
423 gridBagConstraints = new java.awt.GridBagConstraints();
424 gridBagConstraints.gridx = 1;
425 gridBagConstraints.gridy = 0;
426 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
427 gridBagConstraints.weightx = 1.0;
428 gridBagConstraints.insets = new java.awt.Insets(9, 9, 9, 15);
429 contanctsPanel.add(contactsDataLabel, gridBagConstraints);
430
432 org.openide.awt.Mnemonics.setLocalizedText(referencesLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.referencesLabel.text")); // NOI18N
433 gridBagConstraints = new java.awt.GridBagConstraints();
434 gridBagConstraints.gridx = 0;
435 gridBagConstraints.gridy = 1;
436 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
437 gridBagConstraints.insets = new java.awt.Insets(0, 15, 9, 0);
438 contanctsPanel.add(referencesLabel, gridBagConstraints);
439
440 org.openide.awt.Mnemonics.setLocalizedText(referencesDataLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.referencesDataLabel.text")); // NOI18N
441 gridBagConstraints = new java.awt.GridBagConstraints();
442 gridBagConstraints.gridx = 1;
443 gridBagConstraints.gridy = 1;
444 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
445 gridBagConstraints.insets = new java.awt.Insets(0, 9, 0, 0);
446 contanctsPanel.add(referencesDataLabel, gridBagConstraints);
447
448 gridBagConstraints = new java.awt.GridBagConstraints();
449 gridBagConstraints.gridx = 0;
450 gridBagConstraints.gridy = 2;
451 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
452 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
453 add(contanctsPanel, gridBagConstraints);
454
455 caseReferencesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.caseReferencesPanel.border.title"))); // NOI18N
456 gridBagConstraints = new java.awt.GridBagConstraints();
457 gridBagConstraints.gridx = 0;
458 gridBagConstraints.gridy = 5;
459 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
460 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
461 gridBagConstraints.weightx = 1.0;
462 gridBagConstraints.weighty = 1.0;
463 gridBagConstraints.insets = new java.awt.Insets(9, 0, 0, 0);
464 add(caseReferencesPanel, gridBagConstraints);
465
466 fileRefPane.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.fileRefPane.border.title"))); // NOI18N
467 fileRefPane.setLayout(new java.awt.CardLayout());
468
469 fileRefScrolPanel.setLayout(new java.awt.BorderLayout());
470
471 fileRefList.setModel(new javax.swing.AbstractListModel<String>() {
472 String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
473 public int getSize() { return strings.length; }
474 public String getElementAt(int i) { return strings[i]; }
475 });
476 scrollPane.setViewportView(fileRefList);
477
478 fileRefScrolPanel.add(scrollPane, java.awt.BorderLayout.CENTER);
479
480 fileRefPane.add(fileRefScrolPanel, "listPanelCard");
481
482 selectAccountPane.setLayout(new java.awt.GridBagLayout());
483
484 org.openide.awt.Mnemonics.setLocalizedText(selectAccountFileRefLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.selectAccountFileRefLabel.text")); // NOI18N
485 selectAccountFileRefLabel.setEnabled(false);
486 selectAccountPane.add(selectAccountFileRefLabel, new java.awt.GridBagConstraints());
487
488 fileRefPane.add(selectAccountPane, "selectAccountCard");
489
490 gridBagConstraints = new java.awt.GridBagConstraints();
491 gridBagConstraints.gridx = 0;
492 gridBagConstraints.gridy = 4;
493 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
494 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
495 gridBagConstraints.weighty = 1.0;
496 add(fileRefPane, gridBagConstraints);
497
498 personaPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.personaPanel.border.title"))); // NOI18N
499 personaPanel.setMinimumSize(new java.awt.Dimension(35, 75));
500 personaPanel.setPreferredSize(new java.awt.Dimension(112, 75));
501 gridBagConstraints = new java.awt.GridBagConstraints();
502 gridBagConstraints.gridy = 3;
503 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
504 add(personaPanel, gridBagConstraints);
505 }// </editor-fold>//GEN-END:initComponents
506
507
508 // Variables declaration - do not modify//GEN-BEGIN:variables
509 private javax.swing.JLabel accountCountry;
510 private javax.swing.JLabel accountLabel;
511 private javax.swing.JLabel accoutDescriptionLabel;
512 private javax.swing.JLabel attachmentDataLabel;
513 private javax.swing.JLabel attachmentsLabel;
514 private javax.swing.JLabel callLogsDataLabel;
515 private javax.swing.JLabel callLogsLabel;
517 private javax.swing.JLabel contactsDataLabel;
518 private javax.swing.JLabel contactsLabel;
519 private javax.swing.JPanel contanctsPanel;
520 private javax.swing.JPanel countsPanel;
521 private javax.swing.JList<String> fileRefList;
522 private javax.swing.JPanel fileRefPane;
523 private javax.swing.JLabel messagesDataLabel;
524 private javax.swing.JLabel messagesLabel;
525 private javax.swing.JPanel personaPanel;
526 private javax.swing.JLabel referencesDataLabel;
527 private javax.swing.JLabel referencesLabel;
528 private javax.swing.JLabel selectAccountFileRefLabel;
529 private javax.swing.JPanel summaryPanel;
530 private javax.swing.JLabel thumbnailCntLabel;
531 private javax.swing.JLabel thumbnailsDataLabel;
532 // End of variables declaration//GEN-END:variables
533
534}
void updateOtherAccountInfo(SelectionInfo info, Account account)
org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel caseReferencesPanel
synchronized static Logger getLogger(String name)
Definition Logger.java:124

Copyright © 2012-2024 Sleuth Kit Labs. Generated on:
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.