private int showDialog(Component parent, boolean isOpenDialog) throws HeadlessException { finishConfiguration = false; for (FileFilter existingFilter : super.getChoosableFileFilters()) super.removeChoosableFileFilter(existingFilter); for (IOFilter ioFilter : isOpenDialog ? loadFilters : saveFilters) { addChoosableFileFilter(ioFilter); if ((isOpenDialog && ioFilter.equals(lastLoadFilter)) || (!isOpenDialog && ioFilter.equals(lastSaveFilter))) super.setFileFilter(ioFilter); } finishConfiguration = true; int out = isOpenDialog ? super.showOpenDialog(parent) : super.showSaveDialog(parent); if (out == JFileChooser.APPROVE_OPTION) { IOFilter ioFilter = getCurrentIOFilter(); if (loadFilters.contains(ioFilter)) lastLoadFilter = ioFilter; if (saveFilters.contains(ioFilter)) lastSaveFilter = ioFilter; } return out; } }
private int showDialog(Component parent, boolean isOpenDialog) throws HeadlessException { finishConfiguration = false; for (FileFilter existingFilter : super.getChoosableFileFilters()) super.removeChoosableFileFilter(existingFilter); for (IOFilter ioFilter : isOpenDialog ? loadFilters : saveFilters) { addChoosableFileFilter(ioFilter); if ((isOpenDialog && ioFilter.equals(lastLoadFilter)) || (!isOpenDialog && ioFilter.equals(lastSaveFilter))) super.setFileFilter(ioFilter); } finishConfiguration = true; int out = isOpenDialog ? super.showOpenDialog(parent) : super.showSaveDialog(parent); if (out == JFileChooser.APPROVE_OPTION) { IOFilter ioFilter = getCurrentIOFilter(); if (loadFilters.contains(ioFilter)) lastLoadFilter = ioFilter; if (saveFilters.contains(ioFilter)) lastSaveFilter = ioFilter; } return out; } }