import java.awt.*;
import java.awt.event.*;

public class JanelaFileDialog extends Frame {
    FileDialog d;
    Frame f;

    class WindowHandler extends WindowAdapter {
	public void windowClosing(WindowEvent we) {
	    Window w = we.getWindow();
	    w.dispose();
	    if (w == f)
		System.exit(0);
	}
    }

    class ShowHandler implements ActionListener {
	public void actionPerformed(ActionEvent ae) {
	    d.show();
	    System.out.println("Diretorio: " + d.getDirectory());
	    System.out.println("Arquivo: " + d.getFile());
	}
    }

    public JanelaFileDialog() {
	d = new FileDialog(this);
	WindowListener wl = new WindowHandler();
	addWindowListener(wl);
	d.addWindowListener(wl);
	d.setSize(200,100);

	Button show = new Button("Mostra");
	show.addActionListener(new ShowHandler());
	add(show);
	pack();

	f = this;
    }

    public static void main(String[] args) {
	JanelaFileDialog jd = new JanelaFileDialog();
	jd.show();
    }
}