public void setDataset(InvDataset ds) { if (ds == null) return; OpenDatasetTask openTask = new OpenDatasetTask(ds); ProgressMonitor pm = new ProgressMonitor(openTask); pm.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("success")) { controller.showDataset(); gridTable.setDataset(controller.getFields()); datasetNameLabel.setText("Dataset: " + controller.getDatasetUrlString()); setSelected(true); gtWindow.hide(); } } }); pm.start(this, "Open Dataset " + ds.getName(), 100); }