private void importMasks() { final JFileChooser fileChooser = new SnapFileChooser(); fileChooser.setDialogTitle("Import Masks from file"); final FileFilter bmdFilter = new SnapFileFilter("BITMASK_DEFINITION_FILE", ".bmd", "Bitmask definition files (*.bmd)"); fileChooser.addChoosableFileFilter(bmdFilter); final FileFilter bmdxFilter = new SnapFileFilter("BITMASK_DEFINITION_FILE_XML", ".bmdx", "Bitmask definition xml files (*.bmdx)"); fileChooser.addChoosableFileFilter(bmdxFilter); final FileFilter xmlFilter = new SnapFileFilter("XML", ".xml", "XML files (*.xml)"); fileChooser.setFileFilter(xmlFilter); fileChooser.setCurrentDirectory(getDirectory()); if (fileChooser.showOpenDialog(SwingUtilities.getWindowAncestor(maskTopComponent)) == JFileChooser.APPROVE_OPTION) { final File file = fileChooser.getSelectedFile(); if (file != null) { setDirectory(file.getAbsoluteFile().getParentFile()); if (file.canRead()) { if (bmdFilter.accept(file)) { importMaskFromBmd(file); } else if (bmdxFilter.accept(file)) { importMasksFromBmdx(file); } else { importMasksFromXml(file); } } } } }