void onOpenFileClicked() { if (!maybeSave()) { return; } try { JFileChooser fc = new JFileChooser(); FileNameExtensionFilter filter1 = new FileNameExtensionFilter(strings.getString("filetype." + EXTENSION), EXTENSION); fc.setFileFilter(filter1); int rv = fc.showOpenDialog(this); if (rv == JFileChooser.APPROVE_OPTION) { File file = fc.getSelectedFile(); Tournament t = new Tournament(); t.loadFile(file); setTournament(file, t); } } catch (Exception e) { JOptionPane.showMessageDialog( this, e, strings.getString("main.error_caption"), JOptionPane.ERROR_MESSAGE); } }
/** @return true if file was saved, false if user canceled */ boolean onSaveFileClicked() { if (currentFile == null) { return onSaveAsFileClicked(); } try { tournament.saveFile(currentFile); return true; } catch (Exception e) { JOptionPane.showMessageDialog( this, e, strings.getString("main.error_caption"), JOptionPane.ERROR_MESSAGE); } return false; }
boolean maybeSave() { if (tournament.isDirty()) { int rv = JOptionPane.showConfirmDialog( this, strings.getString("main.save_query"), PRODUCT_NAME, JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE); if (rv == JOptionPane.CANCEL_OPTION) return false; if (rv == JOptionPane.YES_OPTION) { return onSaveFileClicked(); } } return true; }
void doSave(File file) throws IOException { currentFile = file; tournament.saveFile(file); }