| /* Copyright (C) 2000, 2001 Free Software Foundation |
| |
| This file is part of libgcj. |
| |
| This software is copyrighted work licensed under the terms of the |
| Libgcj License. Please consult the file "LIBGCJ_LICENSE" for |
| details. */ |
| |
| package java.awt; |
| |
| import java.awt.peer.FileDialogPeer; |
| import java.io.FilenameFilter; |
| |
| /** |
| * @author Tom Tromey <tromey@redhat.com> |
| * @date April 20, 2001 |
| */ |
| |
| public class FileDialog extends Dialog |
| { |
| public static int LOAD = 0; |
| public static int SAVE = 1; |
| |
| public FileDialog (Frame parent) |
| { |
| this (parent, "", LOAD); |
| } |
| |
| public FileDialog (Frame parent, String title) |
| { |
| this (parent, title, LOAD); |
| } |
| |
| public FileDialog (Frame parent, String title, int mode) |
| { |
| super (parent, title, true); |
| if (mode != LOAD && mode != SAVE) |
| throw new IllegalArgumentException ("unknown mode: " + mode); |
| this.mode = mode; |
| } |
| |
| public void addNotify () |
| { |
| if (peer == null) |
| peer = getToolkit ().createFileDialog (this); |
| super.addNotify (); |
| } |
| |
| public String getDirectory () |
| { |
| return dir; |
| } |
| |
| public String getFile () |
| { |
| return file; |
| } |
| |
| public FilenameFilter getFilenameFilter () |
| { |
| return filter; |
| } |
| |
| public int getMode () |
| { |
| return mode; |
| } |
| |
| protected String paramString () |
| { |
| return ("FileDialog[mode=" + mode |
| + ",dir=" + dir |
| + ",file=" + file + "]"); |
| } |
| |
| public void setDirectory (String dir) |
| { |
| this.dir = dir; |
| if (peer != null) |
| { |
| FileDialogPeer f = (FileDialogPeer) peer; |
| f.setDirectory (dir); |
| } |
| } |
| |
| public void setFile (String file) |
| { |
| this.file = file; |
| if (peer != null) |
| { |
| FileDialogPeer f = (FileDialogPeer) peer; |
| f.setFile (file); |
| } |
| } |
| |
| public void setFilenameFilter (FilenameFilter filter) |
| { |
| this.filter = filter; |
| if (peer != null) |
| { |
| FileDialogPeer f = (FileDialogPeer) peer; |
| f.setFilenameFilter (filter); |
| } |
| } |
| |
| public void setMode (int mode) |
| { |
| if (mode != LOAD && mode != SAVE) |
| throw new IllegalArgumentException ("unknown mode: " + mode); |
| this.mode = mode; |
| // FIXME: update peer? |
| } |
| |
| // Names here from serialization spec. |
| private int mode; |
| private String dir; |
| private String file; |
| private FilenameFilter filter; |
| } |