jtulach@307: package org.apidesign.exceptions.trycatchredo; jtulach@307: jtulach@307: import java.awt.EventQueue; jtulach@307: import java.awt.event.ActionEvent; jtulach@307: import java.io.IOException; jtulach@307: import java.io.OutputStream; jtulach@307: import java.net.URL; jtulach@307: import javax.swing.AbstractAction; jtulach@307: import javax.swing.JOptionPane; jtulach@307: jtulach@307: /** jtulach@307: * jtulach@307: * @author Jaroslav Tulach jtulach@307: */ jtulach@307: final class SaveAction extends AbstractAction { jtulach@307: private final URL where; jtulach@307: private final CharSequence what; jtulach@307: jtulach@307: SaveAction(URL where, CharSequence what) { jtulach@307: this.where = where; jtulach@307: this.what = what; jtulach@307: } jtulach@307: jtulach@307: jtulach@307: public void actionPerformed(ActionEvent ev) { jtulach@307: assert EventQueue.isDispatchThread(); jtulach@307: try { jtulach@307: OutputStream os = where.openConnection().getOutputStream(); jtulach@307: os.write(what.toString().getBytes()); jtulach@307: os.close(); jtulach@307: } catch (IOException ex) { jtulach@307: JOptionPane.showMessageDialog(null, ex); jtulach@307: } jtulach@307: } jtulach@307: }