5280 refresh path shown when sorting changed

This commit is contained in:
William Schaefer 2019-07-09 10:09:15 -04:00
parent 832ac357c8
commit 2faa84ec68

View File

@ -38,6 +38,8 @@ import javax.swing.JTable;
import javax.swing.ListSelectionModel; import javax.swing.ListSelectionModel;
import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener; import javax.swing.event.DocumentListener;
import javax.swing.event.RowSorterEvent;
import javax.swing.event.RowSorterListener;
import javax.swing.filechooser.FileSystemView; import javax.swing.filechooser.FileSystemView;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn; import javax.swing.table.TableColumn;
@ -77,19 +79,28 @@ final class LogicalImagerPanel extends JPanel implements DocumentListener {
*/ */
private LogicalImagerPanel(String context) { private LogicalImagerPanel(String context) {
initComponents(); initComponents();
configureImageTable();
jScrollPane1.setBorder(null);
clearImageTable();
}
private void configureImageTable() {
//hide path column while leaving it in model //hide path column while leaving it in model
if (imageTable.getColumnCount() > NUMBER_OF_VISIBLE_COLUMNS) { if (imageTable.getColumnCount() > NUMBER_OF_VISIBLE_COLUMNS) {
TableColumn columnToHide = imageTable.getColumn(imageTableModel.getColumnName(NUMBER_OF_VISIBLE_COLUMNS)); TableColumn columnToHide = imageTable.getColumn(imageTableModel.getColumnName(NUMBER_OF_VISIBLE_COLUMNS));
if (columnToHide != null) { if (columnToHide != null) {
imageTable.removeColumn(columnToHide); imageTable.removeColumn(columnToHide);
} }
imageTable.getRowSorter().addRowSorterListener(new RowSorterListener() {
@Override
public void sorterChanged(RowSorterEvent e) {
imageTableSelect();
}
});
//sort on specified column in decending orders //sort on specified column in decending orders
imageTable.getRowSorter().toggleSortOrder(COLUMN_TO_SORT_ON_INDEX); imageTable.getRowSorter().toggleSortOrder(COLUMN_TO_SORT_ON_INDEX);
imageTable.getRowSorter().toggleSortOrder(COLUMN_TO_SORT_ON_INDEX); imageTable.getRowSorter().toggleSortOrder(COLUMN_TO_SORT_ON_INDEX);
} }
jScrollPane1.setBorder(null);
clearImageTable();
} }
/** /**
@ -400,16 +411,7 @@ final class LogicalImagerPanel extends JPanel implements DocumentListener {
+ " " + driveLetter); + " " + driveLetter);
imageTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); imageTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
imageTable.setModel(imageTableModel); imageTable.setModel(imageTableModel);
//hide path column while leaving it in model configureImageTable();
if (imageTable.getColumnCount() > NUMBER_OF_VISIBLE_COLUMNS) {
TableColumn columnToHide = imageTable.getColumn(imageTableModel.getColumnName(NUMBER_OF_VISIBLE_COLUMNS));
if (columnToHide != null) {
imageTable.removeColumn(columnToHide);
}
//sort on specified column in decending order
imageTable.getRowSorter().toggleSortOrder(COLUMN_TO_SORT_ON_INDEX);
imageTable.getRowSorter().toggleSortOrder(COLUMN_TO_SORT_ON_INDEX);
}
fixImageTableColumnWidth(); fixImageTableColumnWidth();
// If there are any images, select the first one // If there are any images, select the first one
if (imageTable.getRowCount() > 0) { if (imageTable.getRowCount() > 0) {
@ -444,16 +446,7 @@ final class LogicalImagerPanel extends JPanel implements DocumentListener {
private void clearImageTable() { private void clearImageTable() {
imageTableModel = new ImageTableModel(); imageTableModel = new ImageTableModel();
imageTable.setModel(imageTableModel); imageTable.setModel(imageTableModel);
//hide path column while leaving it in model configureImageTable();
if (imageTable.getColumnCount() > NUMBER_OF_VISIBLE_COLUMNS) {
TableColumn columnToHide = imageTable.getColumn(imageTableModel.getColumnName(NUMBER_OF_VISIBLE_COLUMNS));
if (columnToHide != null) {
imageTable.removeColumn(columnToHide);
}
//sort on specified column in decending order
imageTable.getRowSorter().toggleSortOrder(COLUMN_TO_SORT_ON_INDEX);
imageTable.getRowSorter().toggleSortOrder(COLUMN_TO_SORT_ON_INDEX);
}
fixImageTableColumnWidth(); fixImageTableColumnWidth();
} }