mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
custom resize columns in keyword list
This commit is contained in:
parent
52a0b6cb12
commit
8f6efb71fd
@ -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,25 +549,21 @@ 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) {
|
||||||
|
|
||||||
if (column == 0) {
|
if (column == 0) {
|
||||||
String val = (String)table.getModel().getValueAt(row, column);
|
String val = (String) table.getModel().getValueAt(row, column);
|
||||||
setToolTipText(val);
|
setToolTipText(val);
|
||||||
setText(val);
|
setText(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user