/* * Copyright (c) 2017-2020 Software Architecture Group, Hasso Plattner Institute * * Licensed under the MIT License. */ package de.hpi.swa.trufflesqueak.launcher; import java.io.File; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; public final class FileChooser { public static String run() { final JFileChooser squeakImageChooser = new JFileChooser(); squeakImageChooser.setFileFilter(new SqueakImageFilter()); squeakImageChooser.setApproveButtonToolTipText("Open selected image with TruffleSqueak"); final long result = squeakImageChooser.showOpenDialog(null); if (result == JFileChooser.APPROVE_OPTION) { return squeakImageChooser.getSelectedFile().getAbsolutePath(); } return null; } private static class SqueakImageFilter extends FileFilter { @Override public boolean accept(final File f) { return f.getName().endsWith(".image"); } @Override public String getDescription() { return "Squeak/Smalltalk images"; } } }