custom resize columns in keyword list

This commit is contained in:
adam-m 2012-01-06 12:20:32 -05:00
parent 52a0b6cb12
commit 8f6efb71fd

View File

@ -18,7 +18,9 @@
*/ */
package org.sleuthkit.autopsy.keywordsearch; package org.sleuthkit.autopsy.keywordsearch;
import java.awt.Color;
import java.awt.Component; import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@ -28,11 +30,9 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException; import java.util.regex.PatternSyntaxException;
import javax.swing.JLabel;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn; import javax.swing.table.TableColumn;
import org.openide.util.NbBundle; import org.openide.util.NbBundle;
import org.openide.windows.TopComponent; import org.openide.windows.TopComponent;
@ -78,31 +78,34 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
deleteWordButton.setToolTipText("Delete selected keyword(s) from the list"); deleteWordButton.setToolTipText("Delete selected keyword(s) from the list");
deleteAllWordsButton.setToolTipText("Delete all keywords from the list (clear it)"); deleteAllWordsButton.setToolTipText("Delete all keywords from the list (clear it)");
loadListButton.setEnabled(false);
saveListButton.setEnabled(false);
keywordTable.setAutoscrolls(true); keywordTable.setAutoscrolls(true);
keywordTable.setTableHeader(null); keywordTable.setTableHeader(null);
keywordTable.setShowHorizontalLines(true); keywordTable.setShowHorizontalLines(false);
keywordTable.setShowVerticalLines(true); keywordTable.setShowVerticalLines(false);
//keywordTable.setShowGrid(false)
//TODO removing dotted line of selected cell might require code in custom renderer keywordTable.getParent().setBackground(keywordTable.getBackground());
//customize column witdhs
keywordTable.setSize(260,200);
final int width = keywordTable.getSize().width; final int width = keywordTable.getSize().width;
TableColumn column = null; TableColumn column = null;
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
column = keywordTable.getColumnModel().getColumn(i); column = keywordTable.getColumnModel().getColumn(i);
if (i == 1) { if (i == 1) {
column.setPreferredWidth(((int) (width *0.2))); column.setPreferredWidth(((int) (width *0.2)));
//column.setCellEditor(new DefaultCellEditor(new JCheckBox())); //column.setCellRenderer(new CellTooltipRenderer());
} else { } else {
column.setCellRenderer(new CellTooltipRenderer()); column.setCellRenderer(new CellTooltipRenderer());
column.setPreferredWidth(((int) (width * 0.7))); column.setPreferredWidth(((int) (width * 0.75)));
} }
} }
keywordTable.setCellSelectionEnabled(false); keywordTable.setCellSelectionEnabled(false);
//keywordTable.setBorder(BorderFactory.createEmptyBorder());
//create some empty rows //create some empty rows
tableModel.initEmpty(); //tableModel.initEmpty();
//test //test
tableModel.addKeyword("\\d\\d\\d-\\d\\d\\d-\\d\\d\\d\\d"); tableModel.addKeyword("\\d\\d\\d-\\d\\d\\d-\\d\\d\\d\\d");
@ -192,6 +195,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
}); });
keywordTable.setModel(tableModel); keywordTable.setModel(tableModel);
keywordTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
keywordTable.setShowHorizontalLines(false); keywordTable.setShowHorizontalLines(false);
keywordTable.setShowVerticalLines(false); keywordTable.setShowVerticalLines(false);
jScrollPane1.setViewportView(keywordTable); jScrollPane1.setViewportView(keywordTable);
@ -519,7 +523,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
} }
void initEmpty() { void initEmpty() {
for (int i = 0; i < 20; ++i) { for (int i = 0; i < 10; ++i) {
keywordData.add(0, new TableEntry("", false)); keywordData.add(0, new TableEntry("", false));
} }
fireTableDataChanged(); fireTableDataChanged();
@ -545,13 +549,11 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
/** /**
* tooltips that show entire query string * tooltips that show entire query string
*/ */
public static class CellTooltipRenderer extends JLabel public static class CellTooltipRenderer extends DefaultTableCellRenderer {
implements TableCellRenderer {
@Override @Override
public Component getTableCellRendererComponent( public Component getTableCellRendererComponent(
JTable table, Object color, JTable table, Object value,
boolean isSelected, boolean hasFocus, boolean isSelected, boolean hasFocus,
int row, int column) { int row, int column) {
@ -560,10 +562,8 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
setToolTipText(val); setToolTipText(val);
setText(val); setText(val);
} }
return this; return this;
} }
} }
} }