Salve,
devo fare in modo che un utente possa selezionare un particolare file; una volta selezionato verrà richiamato un metodo di un altra classe a cui passo il path del file.

In questa classe che ho fatto

codice:
package it.gui;

import it.gui.controller.SelectMessageController;
import java.io.File;
import javax.swing.filechooser.*;
import javax.swing.JFileChooser;

public class SelectMsgFrame extends javax.swing.JFrame {

	static SelectMessageController _controller = null;
	
	public SelectMsgFrame(SelectMessageController theController) {
		_controller = theController;
		initComponents();
	}

	private void initComponents() {

		_mainPnl = new javax.swing.JPanel();
		_titlePnl = new javax.swing.JPanel();
		_titleSeperator = new javax.swing.JSeparator();
		_titleLbl = new javax.swing.JLabel();
		_centerPnl = new javax.swing.JPanel();
		_chooser = new javax.swing.JFileChooser();

		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

		_mainPnl.setLayout(new java.awt.BorderLayout());

		_titlePnl.setLayout(new java.awt.BorderLayout());
		_titlePnl.add(_titleSeperator, java.awt.BorderLayout.SOUTH);

		_titleLbl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
		_titleLbl.setText("Store Message");
		_titlePnl.add(_titleLbl, java.awt.BorderLayout.CENTER);

		_mainPnl.add(_titlePnl, java.awt.BorderLayout.NORTH);

		_chooser.removeChoosableFileFilter (_chooser.getAcceptAllFileFilter ());
		
		_chooser.setApproveButtonText("Send");
		
		_chooser.addChoosableFileFilter (new FileFilter () {
		    public boolean accept (File f) {
		        return f.isDirectory() || f.getName().endsWith (".txt");
		    }
		    public String getDescription () {
		        return "File TXT";
		    }
		});
		
		int returnVal = _chooser.showOpenDialog(null);
	    if(returnVal == JFileChooser.APPROVE_OPTION) {
	    	sendFile();
	    }
		_centerPnl.setLayout(new java.awt.BorderLayout());

		_centerPnl.add(_chooser, java.awt.BorderLayout.CENTER);

		_mainPnl.add(_centerPnl, java.awt.BorderLayout.CENTER);

		getContentPane().add(_mainPnl, java.awt.BorderLayout.CENTER);

		pack();
	}

        public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new SelectMsgFrame(_controller).setVisible(true);
			}
		});
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.JPanel _centerPnl;
	private javax.swing.JPanel _mainPnl;
	private javax.swing.JLabel _titleLbl;
	private javax.swing.JPanel _titlePnl;
	private javax.swing.JSeparator _titleSeperator;
	private javax.swing.JFileChooser _chooser;
	// End of variables declaration//GEN-END:variables
	
	private void sendFile(){
		_controller.send(_chooser.getSelectedFile().getAbsolutePath());
	}

}
1) come faccio a fare in modo che quando viene inviato il path si chuda il frame?

2) come posso gestire il secondo pulsantino che mi esce "Annulla"?

Grazie