private final Map<File, EDITOR> fileToEditor = new HashMap<File, EDITOR>();\r
private final Map<EDITOR, File> editorToFile = new HashMap<EDITOR, File>();\r
\r
+ \r
private final Set<OBJECT> dirty = new HashSet<OBJECT>();\r
\r
public MultiObjectEditor(final Frame frame, final String noun){\r
}\r
\r
@SuppressWarnings("unchecked")\r
- @Override\r
- public EDITOR getSelectedComponent(){\r
- return (EDITOR)super.getSelectedComponent();\r
+ public EDITOR getSelectedEditor(){\r
+ try {\r
+ return (EDITOR)super.getSelectedComponent();\r
+ } catch ( ClassCastException e ){\r
+ return null;\r
+ }\r
}\r
\r
private void close(){\r
- EDITOR e = getSelectedComponent();\r
+ EDITOR e = getSelectedEditor();\r
OBJECT o = editorToObject.get(e);\r
File f = editorToFile.get(e);\r
\r
}\r
\r
private void saveDialog(){\r
- EDITOR e = getSelectedComponent();\r
+ EDITOR e = getSelectedEditor();\r
if ( !editorToFile.containsKey(e) ){\r
log.debug("Editor has no file, saving as...");\r
saveAsDialog();\r
}\r
}\r
private void saveAsDialog(){\r
- EDITOR e = getSelectedComponent();\r
+ EDITOR e = getSelectedEditor();\r
final FileDialog fd = new FileDialog(frame, "Save" + noun + " As", FileDialog.SAVE);\r
fd.setVisible(true);\r
if (fd.getFile() != null ) {\r