//***************************************************************************** //* //* (c) Copyright 2005. Glub Tech, Incorporated. All Rights Reserved. //* //* $Id: LogPopupMenu.java 37 2009-05-11 22:46:15Z gary $ //* //***************************************************************************** package com.glub.secureftp.client.gui; import com.glub.util.*; import javax.swing.*; import java.awt.event.*; import java.io.*; public class LogPopupMenu extends JPopupMenu { protected static final long serialVersionUID = 1L; private JMenuItem saveLogMI = null; private JMenuItem clearLogMI = null; private JTextArea log = null; public LogPopupMenu( JTextArea textArea ) { super(); log = textArea; setupPopupMenu(); } protected void setupPopupMenu() { String mi = LString.getString("Log.clear", "Clear log"); clearLogMI = new JMenuItem( mi ); clearLogMI.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { log.setText(""); } } ); mi = LString.getString("Log.save", "Save log..."); saveLogMI = new JMenuItem( mi ); saveLogMI.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { File localDir = Client.getLocalView().getCurrentDirectory(); JFileChooser fc = new JFileChooser( localDir ); fc.setFileSelectionMode( JFileChooser.FILES_ONLY ); int result = fc.showDialog( SecureFTP.getBaseFrame(), LString.getString("Common.button.select_file", "Select File") ); if ( JFileChooser.APPROVE_OPTION == result ) { File outputFile = fc.getSelectedFile(); try { FileOutputStream fos = new FileOutputStream( outputFile ); PrintWriter writer = new PrintWriter( fos ); writer.println( log.getText() ); writer.flush(); writer.close(); fos.close(); } catch ( Exception ex ) {} } } } ); add( saveLogMI ); add( clearLogMI ); } }