GP-3352 - Fixed table dispose() exception

This commit is contained in:
dragonmacher 2023-04-25 15:28:43 -04:00
parent 102729174d
commit 3fbcb32b65
3 changed files with 19 additions and 18 deletions

View file

@ -162,7 +162,7 @@ public class FunctionStartRFParamsDialog extends ReusableDialogComponentProvider
this.plugin = plugin; this.plugin = plugin;
rowObjects = new ArrayList<>(); rowObjects = new ArrayList<>();
trainingSource = plugin.getCurrentProgram(); trainingSource = plugin.getCurrentProgram();
JPanel panel = createPanel(); JPanel panel = createWorkPanel();
addWorkPanel(panel); addWorkPanel(panel);
trainButton = addTrainModelsButton(); trainButton = addTrainModelsButton();
addHideDialogButton(); addHideDialogButton();
@ -268,7 +268,7 @@ public class FunctionStartRFParamsDialog extends ReusableDialogComponentProvider
return trainModelsButton; return trainModelsButton;
} }
private JPanel createPanel() { private JPanel createWorkPanel() {
JPanel mainPanel = new JPanel(new BorderLayout()); JPanel mainPanel = new JPanel(new BorderLayout());
tableModel = new RandomForestTableModel(plugin.getTool(), rowObjects); tableModel = new RandomForestTableModel(plugin.getTool(), rowObjects);
@ -277,7 +277,7 @@ public class FunctionStartRFParamsDialog extends ReusableDialogComponentProvider
GTable modelStatsTable = evalPanel.getTable(); GTable modelStatsTable = evalPanel.getTable();
modelStatsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); modelStatsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
evalPanel.setBorder(BorderFactory.createTitledBorder(MODEL_STATISTICS)); evalPanel.setBorder(BorderFactory.createTitledBorder(MODEL_STATISTICS));
mainPanel.add(evalPanel, BorderLayout.EAST); mainPanel.add(evalPanel, BorderLayout.CENTER);
DockingAction applyAction = new ActionBuilder(APPLY_MODEL_ACTION_NAME, plugin.getName()) DockingAction applyAction = new ActionBuilder(APPLY_MODEL_ACTION_NAME, plugin.getName())
.description("Apply Model to Source Program") .description("Apply Model to Source Program")

View file

@ -28,7 +28,7 @@ public abstract class AbstractGTableModel<T> extends AbstractTableModel
private List<T> lastSelectedObjects = new ArrayList<>(); private List<T> lastSelectedObjects = new ArrayList<>();
private boolean isDisposed; protected boolean isDisposed;
@Override @Override
public T getRowObject(int row) { public T getRowObject(int row) {

View file

@ -668,6 +668,7 @@ public abstract class ThreadedTableModel<ROW_OBJECT, DATA_SOURCE>
doClearData(); doClearData();
disposeDynamicColumnData(); disposeDynamicColumnData();
clearCache(); clearCache();
isDisposed = true;
} }
/** /**