19 package org.sleuthkit.autopsy.directorytree;
21 import java.awt.event.ActionListener;
22 import java.util.logging.Level;
23 import java.util.logging.Logger;
33 final class FileSystemDetailsPanel
extends javax.swing.JPanel {
34 private static final Logger logger = Logger.getLogger(FileSystemDetailsPanel.class.getName());
35 private static final long serialVersionUID = 1L;
40 FileSystemDetailsPanel() {
44 FileSystemDetailsPanel(Volume content) {
47 FileSystem fSystem = content.getFileSystems().get(0);
48 setFileSystemTypeValue(fSystem.getFsType().getDisplayName());
49 setImageOffsetValue(Long.toString(fSystem.getImageOffset()));
50 setVolumeIDValue(Long.toString(fSystem.getId()));
51 setBlockSizeValue(Long.toString(fSystem.getBlock_size()));
52 setBlockCountValue(Long.toString(fSystem.getBlock_count()));
53 setRootInumValue(Long.toString(fSystem.getRoot_inum()));
54 setFirstInumValue(Long.toString(fSystem.getFirst_inum()));
55 setLastInumValue(Long.toString(fSystem.getLastInum()));
56 }
catch (TskCoreException|ArrayIndexOutOfBoundsException ex) {
57 logger.log(Level.SEVERE,
"Unable to construct FileSystemDetailsPanel",ex);
67 @SuppressWarnings(
"unchecked")
69 private
void initComponents() {
71 OKButton =
new javax.swing.JButton();
72 genInfoPanel =
new javax.swing.JPanel();
73 fsTypeLabel =
new javax.swing.JLabel();
74 imgOffsetLabel =
new javax.swing.JLabel();
75 volumeIDLabel =
new javax.swing.JLabel();
76 blockSizeLabel =
new javax.swing.JLabel();
77 blockCountLabel =
new javax.swing.JLabel();
78 rootInumLabel =
new javax.swing.JLabel();
79 firstInumLabel =
new javax.swing.JLabel();
80 lastInumLabel =
new javax.swing.JLabel();
81 fsTypeValue =
new javax.swing.JLabel();
82 imgOffsetValue =
new javax.swing.JLabel();
83 volumeIDValue =
new javax.swing.JLabel();
84 blockSizeValue =
new javax.swing.JLabel();
85 blockCountValue =
new javax.swing.JLabel();
86 rootInumValue =
new javax.swing.JLabel();
87 firstInumValue =
new javax.swing.JLabel();
88 lastInumValue =
new javax.swing.JLabel();
89 jSeparator1 =
new javax.swing.JSeparator();
90 jLabel2 =
new javax.swing.JLabel();
91 jLabel3 =
new javax.swing.JLabel();
93 OKButton.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.OKButton.text"));
95 genInfoPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
96 genInfoPanel.setPreferredSize(
new java.awt.Dimension(815, 170));
98 fsTypeLabel.setFont(fsTypeLabel.getFont().deriveFont(fsTypeLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
99 fsTypeLabel.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.fsTypeLabel.text"));
101 imgOffsetLabel.setFont(imgOffsetLabel.getFont().deriveFont(imgOffsetLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
102 imgOffsetLabel.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.imgOffsetLabel.text"));
104 volumeIDLabel.setFont(volumeIDLabel.getFont().deriveFont(volumeIDLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
105 volumeIDLabel.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.volumeIDLabel.text"));
107 blockSizeLabel.setFont(blockSizeLabel.getFont().deriveFont(blockSizeLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
108 blockSizeLabel.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.blockSizeLabel.text"));
110 blockCountLabel.setFont(blockCountLabel.getFont().deriveFont(blockCountLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
111 blockCountLabel.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.blockCountLabel.text"));
113 rootInumLabel.setFont(rootInumLabel.getFont().deriveFont(rootInumLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
114 rootInumLabel.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.rootInumLabel.text"));
116 firstInumLabel.setFont(firstInumLabel.getFont().deriveFont(firstInumLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
117 firstInumLabel.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.firstInumLabel.text"));
119 lastInumLabel.setFont(lastInumLabel.getFont().deriveFont(lastInumLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
120 lastInumLabel.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.lastInumLabel.text"));
122 fsTypeValue.setFont(fsTypeValue.getFont().deriveFont(fsTypeValue.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
123 fsTypeValue.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.fsTypeValue.text"));
125 imgOffsetValue.setFont(imgOffsetValue.getFont().deriveFont(imgOffsetValue.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
126 imgOffsetValue.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.imgOffsetValue.text"));
128 volumeIDValue.setFont(volumeIDValue.getFont().deriveFont(volumeIDValue.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
129 volumeIDValue.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.volumeIDValue.text"));
131 blockSizeValue.setFont(blockSizeValue.getFont().deriveFont(blockSizeValue.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
132 blockSizeValue.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.blockSizeValue.text"));
134 blockCountValue.setFont(blockCountValue.getFont().deriveFont(blockCountValue.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
135 blockCountValue.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.blockCountValue.text"));
137 rootInumValue.setFont(rootInumValue.getFont().deriveFont(rootInumValue.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
138 rootInumValue.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.rootInumValue.text"));
140 firstInumValue.setFont(firstInumValue.getFont().deriveFont(firstInumValue.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
141 firstInumValue.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.firstInumValue.text"));
143 lastInumValue.setFont(lastInumValue.getFont().deriveFont(lastInumValue.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
144 lastInumValue.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.lastInumValue.text"));
146 jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
148 jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
149 jLabel2.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.jLabel2.text"));
151 jLabel3.setFont(jLabel3.getFont().deriveFont(jLabel3.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
152 jLabel3.setText(
org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class,
"FileSystemDetailsPanel.jLabel3.text"));
154 javax.swing.GroupLayout genInfoPanelLayout =
new javax.swing.GroupLayout(genInfoPanel);
155 genInfoPanel.setLayout(genInfoPanelLayout);
156 genInfoPanelLayout.setHorizontalGroup(
157 genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158 .addGroup(genInfoPanelLayout.createSequentialGroup()
160 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
161 .addComponent(fsTypeLabel)
162 .addComponent(imgOffsetLabel)
163 .addComponent(volumeIDLabel)
164 .addComponent(blockSizeLabel))
166 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
167 .addGroup(genInfoPanelLayout.createSequentialGroup()
168 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
169 .addComponent(blockSizeValue, javax.swing.GroupLayout.DEFAULT_SIZE, 112, Short.MAX_VALUE)
170 .addComponent(imgOffsetValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
171 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
172 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
173 .addComponent(jLabel2)
174 .addComponent(jLabel3)))
175 .addComponent(volumeIDValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
176 .addComponent(fsTypeValue, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE))
178 .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
180 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
181 .addComponent(blockCountLabel)
182 .addComponent(rootInumLabel)
183 .addComponent(firstInumLabel)
184 .addComponent(lastInumLabel))
186 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
187 .addComponent(blockCountValue, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
188 .addComponent(rootInumValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
189 .addComponent(firstInumValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
190 .addComponent(lastInumValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
191 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
193 genInfoPanelLayout.setVerticalGroup(
194 genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
195 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, genInfoPanelLayout.createSequentialGroup()
197 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
198 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
199 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
200 .addGroup(genInfoPanelLayout.createSequentialGroup()
201 .addComponent(fsTypeLabel)
202 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
203 .addComponent(imgOffsetLabel)
204 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
205 .addComponent(volumeIDLabel)
206 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
207 .addComponent(blockSizeLabel))
208 .addGroup(genInfoPanelLayout.createSequentialGroup()
209 .addComponent(fsTypeValue)
210 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
211 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
212 .addComponent(imgOffsetValue)
213 .addComponent(jLabel2))
214 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
215 .addComponent(volumeIDValue)
216 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
217 .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
218 .addComponent(blockSizeValue)
219 .addComponent(jLabel3))))
220 .addGroup(genInfoPanelLayout.createSequentialGroup()
221 .addComponent(blockCountValue)
222 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
223 .addComponent(rootInumValue)
224 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
225 .addComponent(firstInumValue)
226 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
227 .addComponent(lastInumValue))
228 .addGroup(genInfoPanelLayout.createSequentialGroup()
229 .addComponent(blockCountLabel)
230 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
231 .addComponent(rootInumLabel)
232 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
233 .addComponent(firstInumLabel)
234 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
235 .addComponent(lastInumLabel)))
236 .addComponent(jSeparator1))
240 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
241 this.setLayout(layout);
242 layout.setHorizontalGroup(
243 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
244 .addGroup(layout.createSequentialGroup()
245 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
246 .addGroup(layout.createSequentialGroup()
248 .addComponent(genInfoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 534, javax.swing.GroupLayout.PREFERRED_SIZE))
249 .addGroup(layout.createSequentialGroup()
250 .addGap(221, 221, 221)
251 .addComponent(OKButton, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)))
252 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
254 layout.setVerticalGroup(
255 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
256 .addGroup(layout.createSequentialGroup()
258 .addComponent(genInfoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
259 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
260 .addComponent(OKButton)
261 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
270 public void setFileSystemTypeValue(String arg) {
271 fsTypeValue.setText(arg);
279 public void setImageOffsetValue(String arg) {
280 imgOffsetValue.setText(arg);
288 public void setVolumeIDValue(String arg) {
289 volumeIDValue.setText(arg);
297 public void setBlockSizeValue(String arg) {
298 blockSizeValue.setText(arg);
306 public void setBlockCountValue(String arg) {
307 blockCountValue.setText(arg);
315 public void setRootInumValue(String arg) {
316 rootInumValue.setText(arg);
324 public void setFirstInumValue(String arg) {
325 firstInumValue.setText(arg);
333 public void setLastInumValue(String arg) {
334 lastInumValue.setText(arg);
342 public void setOKButtonActionListener(ActionListener e) {
343 OKButton.addActionListener(e);
346 private javax.swing.JButton OKButton;
347 private javax.swing.JLabel blockCountLabel;
348 private javax.swing.JLabel blockCountValue;
349 private javax.swing.JLabel blockSizeLabel;
350 private javax.swing.JLabel blockSizeValue;
351 private javax.swing.JLabel firstInumLabel;
352 private javax.swing.JLabel firstInumValue;
353 private javax.swing.JLabel fsTypeLabel;
354 private javax.swing.JLabel fsTypeValue;
355 private javax.swing.JPanel genInfoPanel;
356 private javax.swing.JLabel imgOffsetLabel;
357 private javax.swing.JLabel imgOffsetValue;
358 private javax.swing.JLabel jLabel2;
359 private javax.swing.JLabel jLabel3;
360 private javax.swing.JSeparator jSeparator1;
361 private javax.swing.JLabel lastInumLabel;
362 private javax.swing.JLabel lastInumValue;
363 private javax.swing.JLabel rootInumLabel;
364 private javax.swing.JLabel rootInumValue;
365 private javax.swing.JLabel volumeIDLabel;
366 private javax.swing.JLabel volumeIDValue;