19 package org.sleuthkit.autopsy.filesearch;
21 import java.util.ArrayList;
22 import java.util.List;
23 import java.util.logging.Level;
24 import javax.swing.event.ListSelectionEvent;
31 @SuppressWarnings(
"PMD.SingularField")
35 private static final long serialVersionUID = 1L;
42 setComponentsEnabled();
43 this.mimeTypeList.addListSelectionListener((ListSelectionEvent e) -> {
44 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
49 List<String> mimeTypesList =
new ArrayList<>();
53 logger.log(Level.SEVERE,
"Unable to get detectable file types", ex);
55 String[] mimeTypeArray =
new String[mimeTypesList.size()];
56 return mimeTypesList.toArray(mimeTypeArray);
59 List<String> getMimeTypesSelected() {
60 return this.mimeTypeList.getSelectedValuesList();
63 boolean isSelected() {
64 return this.mimeTypeCheckBox.isSelected();
67 void setComponentsEnabled() {
68 boolean enabled = this.isSelected();
69 this.mimeTypeList.setEnabled(enabled);
70 this.noteLabel.setEnabled(enabled);
78 @SuppressWarnings(
"unchecked")
80 private
void initComponents() {
82 jScrollPane1 =
new javax.swing.JScrollPane();
83 mimeTypeList =
new javax.swing.JList<>();
84 mimeTypeCheckBox =
new javax.swing.JCheckBox();
85 noteLabel =
new javax.swing.JLabel();
87 setMinimumSize(
new java.awt.Dimension(150, 150));
88 setPreferredSize(
new java.awt.Dimension(150, 150));
90 mimeTypeList.setModel(
new javax.swing.AbstractListModel<String>() {
91 String[] strings = getMimeTypeArray();
92 public int getSize() { return strings.length; }
93 public String getElementAt(
int i) {
return strings[i]; }
95 mimeTypeList.setMinimumSize(
new java.awt.Dimension(0, 200));
96 jScrollPane1.setViewportView(mimeTypeList);
98 org.openide.awt.Mnemonics.setLocalizedText(mimeTypeCheckBox,
org.openide.util.NbBundle.getMessage(
MimeTypePanel.class,
"MimeTypePanel.mimeTypeCheckBox.text"));
99 mimeTypeCheckBox.addActionListener(
new java.awt.event.ActionListener() {
100 public void actionPerformed(java.awt.event.ActionEvent evt) {
101 mimeTypeCheckBoxActionPerformed(evt);
105 noteLabel.setFont(noteLabel.getFont().deriveFont(noteLabel.getFont().getSize()-1f));
106 org.openide.awt.Mnemonics.setLocalizedText(noteLabel,
org.openide.util.NbBundle.getMessage(MimeTypePanel.class,
"MimeTypePanel.noteLabel.text"));
108 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
109 this.setLayout(layout);
110 layout.setHorizontalGroup(
111 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
112 .addGroup(layout.createSequentialGroup()
113 .addComponent(mimeTypeCheckBox)
114 .addGap(0, 0, Short.MAX_VALUE))
115 .addGroup(layout.createSequentialGroup()
117 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
118 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
119 .addGroup(layout.createSequentialGroup()
120 .addComponent(noteLabel)
121 .addGap(0, 0, Short.MAX_VALUE)))
124 layout.setVerticalGroup(
125 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
126 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
127 .addComponent(mimeTypeCheckBox)
128 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
129 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
130 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
131 .addComponent(noteLabel)
137 setComponentsEnabled();
138 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
139 this.mimeTypeList.setSelectedIndices(
new int[0]);
javax.swing.JScrollPane jScrollPane1
javax.swing.JLabel noteLabel
javax.swing.JCheckBox mimeTypeCheckBox
String[] getMimeTypeArray()
void mimeTypeCheckBoxActionPerformed(java.awt.event.ActionEvent evt)
synchronized static Logger getLogger(String name)
javax.swing.JList< String > mimeTypeList
static synchronized SortedSet< String > getDetectedTypes()