//import java.awt.FileDialog; import java.awt.FlowLayout; import java.awt.event.*; import java.awt.AWTEvent; import javax.swing.*; import java.io.IOException; //import java.awt.*; //import java.awt.Frame; /** * This command opens a file dialog, creates a new Pixmap, and adds * the resulting Pixmap to the current app's state. * * @author Syam Gadde * @author Owen Astrachan */ class ReadCommand extends Command implements ActionListener { public ReadCommand(PixController control) { myControl = control; myChooser = new JFileChooser(); } public void actionPerformed(ActionEvent ev) { execute(ev); } public void execute(AWTEvent evt) { String filename = getFilename(); if (filename == null) return; myControl.loadPixmap(filename); } private String getFilename() { int retval = myChooser.showOpenDialog(myControl.getGui()); if (retval == JFileChooser.APPROVE_OPTION) { try { return myChooser.getSelectedFile().getCanonicalPath(); } catch (IOException e) { return null; } } return null; } private PixController myControl; private JFileChooser myChooser; }