diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.form index 1f61e9255c..bfb20406e3 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.form @@ -137,8 +137,9 @@ - - + + + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.java index d794acb1dc..a58328c113 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownListSearchPanel.java @@ -39,6 +39,9 @@ import org.openide.util.NbBundle; import org.openide.util.actions.SystemAction; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.ingest.IngestManager; +import javax.swing.ImageIcon; +import static javax.swing.SwingConstants.CENTER; +import javax.swing.table.DefaultTableCellRenderer; /** * Viewer panel widget for keyword lists that is used in the ingest config and @@ -93,7 +96,7 @@ class DropdownListSearchPanel extends KeywordSearchPanel { column.setPreferredWidth(((int) (rightWidth * 0.78))); } else { column.setPreferredWidth(((int) (rightWidth * 0.20))); - column.setCellRenderer(new RightCheckBoxRenderer()); + column.setCellRenderer(new CheckBoxRenderer()); } } @@ -220,8 +223,7 @@ class DropdownListSearchPanel extends KeywordSearchPanel { keywordsTable.setBackground(new java.awt.Color(240, 240, 240)); keywordsTable.setFont(keywordsTable.getFont().deriveFont(keywordsTable.getFont().getStyle() & ~java.awt.Font.BOLD, 11)); keywordsTable.setModel(keywordsTableModel); - keywordsTable.setShowHorizontalLines(false); - keywordsTable.setShowVerticalLines(false); + keywordsTable.setGridColor(new java.awt.Color(153, 153, 153)); rightPane.setViewportView(keywordsTable); jSplitPane1.setRightComponent(rightPane); @@ -597,26 +599,31 @@ class DropdownListSearchPanel extends KeywordSearchPanel { } } - private class RightCheckBoxRenderer extends JCheckBox implements TableCellRenderer { + /** + * A cell renderer for boolean cells that shows a center-aligned green check + * mark if true, nothing if false. + */ + private class CheckBoxRenderer extends DefaultTableCellRenderer { + + private static final long serialVersionUID = 1L; + final ImageIcon theCheck = new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/checkmark.png")); // NON-NLS + + CheckBoxRenderer() { + setHorizontalAlignment(CENTER); + } @Override - public Component getTableCellRendererComponent( - JTable table, Object value, - boolean isSelected, boolean hasFocus, - int row, int column) { + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - this.setHorizontalAlignment(JCheckBox.CENTER); - this.setVerticalAlignment(JCheckBox.CENTER); - - Boolean selected = (Boolean) table.getModel().getValueAt(row, 1); - setSelected(selected); - if (isSelected) { - setBackground(keywordsTable.getSelectionBackground()); - } else { - setBackground(keywordsTable.getBackground()); + if ((value instanceof Boolean)) { + if ((Boolean) value) { + setIcon(theCheck); + setToolTipText(Bundle.IsRegularExpression()); + } else { + setIcon(null); + setToolTipText(null); + } } - setEnabled(false); - return this; } } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/GlobalEditListPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/GlobalEditListPanel.java index 994b36ef82..a381e98059 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/GlobalEditListPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/GlobalEditListPanel.java @@ -92,7 +92,6 @@ class GlobalEditListPanel extends javax.swing.JPanel implements ListSelectionLis } else { column.setPreferredWidth(((int) (width * 0.10))); column.setCellRenderer(new CheckBoxRenderer()); - column.setHeaderRenderer(new HeaderRenderer(keywordTable)); } } keywordTable.setCellSelectionEnabled(false); @@ -723,27 +722,6 @@ class GlobalEditListPanel extends javax.swing.JPanel implements ListSelectionLis } } - /** - * A cell renderer for header cells that center-aligns the header text. - */ - private static class HeaderRenderer implements TableCellRenderer { - - private DefaultTableCellRenderer renderer; - - public HeaderRenderer(JTable table) { - renderer = (DefaultTableCellRenderer) table.getTableHeader().getDefaultRenderer(); - renderer.setHorizontalAlignment(JLabel.CENTER); - } - - @Override - public Component getTableCellRendererComponent( - JTable table, Object value, boolean isSelected, - boolean hasFocus, int row, int col) { - return renderer.getTableCellRendererComponent( - table, value, isSelected, hasFocus, row, col); - } - } - /** * Set the keyboard focus to new keyword textbox. */