# Class FileDialog

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Dialog
java.awt.FileDialog

All Implemented Interfaces:
  `ImageObserver, MenuContainer, Serializable, Accessible`

public class FileDialog extends Dialog
The `FileDialog` class displays a dialog window from which the user can select a file.

Since it is a modal dialog, when the application calls its `show` method to display the dialog, it blocks the rest of the application until the user has chosen a file. This means that `Dialog.setModalityType(ModalityType)` may be ignored.

Since:
  1.0
See Also:
  - `Window.show()`
  - Serialized Form

## Nested Class Summary

### Nested classes/interfaces declared in class Dialog

`Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType`
Modifier and Type
Class
Description
`protected class`
`Dialog.AccessibleAWTDialog`
This class implements accessibility support for the `Dialog` class.
`static enum`
`Dialog.ModalExclusionType`
Any top-level window can be marked not to be blocked by modal dialogs.
`static enum`
`Dialog.ModalityType`
Modal dialogs block all input to some top-level windows.

### Nested classes/interfaces declared in class Window

`Window.AccessibleAWTWindow, Window.Type`
Modifier and Type
Class
Description
`protected class`
`Window.AccessibleAWTWindow`
This class implements accessibility support for the `Window` class.
`static enum`
`Window.Type`
Enumeration of available window types.

### Nested classes/interfaces declared in class Container

`Container.AccessibleAWTContainer`
Modifier and Type
Class
Description
`protected class`
`Container.AccessibleAWTContainer`
Inner class of Container used to provide default support for accessibility.

### Nested classes/interfaces declared in class Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`
Modifier and Type
Class
Description
`protected class`
`Component.AccessibleAWTComponent`
Inner class of Component used to provide default support for accessibility.
`static enum`
`Component.BaselineResizeBehavior`
Enumeration of the common ways the baseline of a component can change as the size changes.
`protected class`
`Component.BltBufferStrategy`
Inner class for blitting offscreen surfaces to a component.
`protected class`
`Component.FlipBufferStrategy`
Inner class for flipping buffers on a component.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`LOAD`
This constant value indicates that the purpose of the file dialog window is to locate a file from which to read.
`static final int`
`SAVE`
This constant value indicates that the purpose of the file dialog window is to locate a file to which to write.

### Fields declared in class Dialog

`DEFAULT_MODALITY_TYPE`
Modifier and Type
Field
Description
`static final Dialog.ModalityType`
`DEFAULT_MODALITY_TYPE`
Default modality type for modal dialogs.

### Fields declared in class Component

`accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`
Modifier and Type
Field
Description
`protected AccessibleContext`
`accessibleContext`
The `AccessibleContext` associated with this `Component`.
`static final float`
`BOTTOM_ALIGNMENT`
Ease-of-use constant for `getAlignmentY`.
`static final float`
`CENTER_ALIGNMENT`
Ease-of-use constant for `getAlignmentY` and `getAlignmentX`.
`static final float`
`LEFT_ALIGNMENT`
Ease-of-use constant for `getAlignmentX`.
`static final float`
`RIGHT_ALIGNMENT`
Ease-of-use constant for `getAlignmentX`.
`static final float`
`TOP_ALIGNMENT`
Ease-of-use constant for `getAlignmentY()`.

### Fields declared in interface ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`
Modifier and Type
Field
Description
`static final int`
`ABORT`
This flag in the infoflags argument to imageUpdate indicates that an image which was being tracked asynchronously was aborted before production was complete.
`static final int`
`ALLBITS`
This flag in the infoflags argument to imageUpdate indicates that a static image which was previously drawn is now complete and can be drawn again in its final form.
`static final int`
`ERROR`
This flag in the infoflags argument to imageUpdate indicates that an image which was being tracked asynchronously has encountered an error.
`static final int`
`FRAMEBITS`
This flag in the infoflags argument to imageUpdate indicates that another complete frame of a multi-frame image which was previously drawn is now available to be drawn again.
`static final int`
`HEIGHT`
This flag in the infoflags argument to imageUpdate indicates that the height of the base image is now available and can be taken from the height argument to the imageUpdate callback method.
`static final int`
`PROPERTIES`
This flag in the infoflags argument to imageUpdate indicates that the properties of the image are now available.
`static final int`
`SOMEBITS`
This flag in the infoflags argument to imageUpdate indicates that more pixels needed for drawing a scaled variation of the image are available.
`static final int`
`WIDTH`
This flag in the infoflags argument to imageUpdate indicates that the width of the base image is now available and can be taken from the width argument to the imageUpdate callback method.

## Constructor Summary

Constructors
Constructor
Description
`FileDialog(Dialog parent)`
Creates a file dialog for loading a file.
`FileDialog(Dialog parent, String title)`
Creates a file dialog window with the specified title for loading a file.
`FileDialog(Dialog parent, String title, int mode)`
Creates a file dialog window with the specified title for loading or saving a file.
`FileDialog(Frame parent)`
Creates a file dialog for loading a file.
`FileDialog(Frame parent, String title)`
Creates a file dialog window with the specified title for loading a file.
`FileDialog(Frame parent, String title, int mode)`
Creates a file dialog window with the specified title for loading or saving a file.

## Method Summary

Modifier and Type
Method
Description
`void`
`addNotify()`
Creates the file dialog's peer.
`String`
`getDirectory()`
Gets the directory of this file dialog.
`String`
`getFile()`
Gets the selected file of this file dialog.
`FilenameFilter`
`getFilenameFilter()`
Determines this file dialog's filename filter.
`File[]`
`getFiles()`
Returns files that the user selects.
`int`
`getMode()`
Indicates whether this file dialog box is for loading from a file or for saving to a file.
`boolean`
`isMultipleMode()`
Returns whether the file dialog allows the multiple file selection.
`protected String`
`paramString()`
Returns a string representing the state of this `FileDialog` window.
`void`
`setDirectory(String dir)`
Sets the directory of this file dialog window to be the specified directory.
`void`
`setFile(String file)`
Sets the selected file for this file dialog window to be the specified file.
`void`
`setFilenameFilter(FilenameFilter filter)`
Sets the filename filter for this file dialog window to the specified filter.
`void`
`setMode(int mode)`
Sets the mode of the file dialog.
`void`
`setMultipleMode(boolean enable)`
Enables or disables multiple file selection for the file dialog.
`void`
`setTitle(String title)`
Sets the title of the Dialog.

### Methods declared in class Dialog

`getAccessibleContext, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setUndecorated, setVisible, show, toBack`
Modifier and Type
Method
Description
`AccessibleContext`
`getAccessibleContext()`
Gets the AccessibleContext associated with this Dialog.
`Dialog.ModalityType`
`getModalityType()`
Returns the modality type of this dialog.
`String`
`getTitle()`
Gets the title of the dialog.
`void`
`hide()`
Deprecated.
As of JDK version 1.5, replaced by `setVisible(boolean)`.
`boolean`
`isModal()`
Indicates whether the dialog is modal.
`boolean`
`isResizable()`
Indicates whether this dialog is resizable by the user.
`boolean`
`isUndecorated()`
Indicates whether this dialog is undecorated.
`void`
`setModal(boolean modal)`
Specifies whether this dialog should be modal.
`void`
`setModalityType(Dialog.ModalityType type)`
Sets the modality type for this dialog.
`void`
`setResizable(boolean resizable)`
Sets whether this dialog is resizable by the user.
`void`
`setUndecorated(boolean undecorated)`
Disables or enables decorations for this dialog.
`void`
`setVisible(boolean b)`
Shows or hides this `Dialog` depending on the value of parameter `b`.
`void`
`show()`
Deprecated.
As of JDK version 1.5, replaced by `setVisible(boolean)`.
`void`
`toBack()`
If this Window is visible, sends this Window to the back and may cause it to lose focus or activation if it is the focused or active Window.

### Methods declared in class Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBackground, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setOpacity, setShape, setSize, setSize, setType, toFront`
Modifier and Type
Method
Description
`void`
`addPropertyChangeListener(PropertyChangeListener listener)`
Adds a PropertyChangeListener to the listener list.
`void`
`addPropertyChangeListener(String propertyName, PropertyChangeListener listener)`
Adds a PropertyChangeListener to the listener list for a specific property.
`void`
`addWindowFocusListener(WindowFocusListener l)`
Adds the specified window focus listener to receive window events from this window.
`void`
`addWindowListener(WindowListener l)`
Adds the specified window listener to receive window events from this window.
`void`
`addWindowStateListener(WindowStateListener l)`
Adds the specified window state listener to receive window events from this window.
`void`
`applyResourceBundle(String rbName)`
Deprecated.
As of J2SE 1.4, replaced by `Component.applyComponentOrientation`.
`void`
`applyResourceBundle(ResourceBundle rb)`
Deprecated.
As of J2SE 1.4, replaced by `Component.applyComponentOrientation`.
`void`
`createBufferStrategy(int numBuffers)`
Creates a new strategy for multi-buffering on this component.
`void`
`createBufferStrategy(int numBuffers, BufferCapabilities caps)`
Creates a new strategy for multi-buffering on this component with the required buffer capabilities.
`void`
`dispose()`
Releases all of the native screen resources used by this `Window`, its subcomponents, and all of its owned children.
`Color`
`getBackground()`
Gets the background color of this window.
`BufferStrategy`
`getBufferStrategy()`
Returns the `BufferStrategy` used by this component.
`boolean`
`getFocusableWindowState()`
Returns whether this Window can become the focused Window if it meets the other requirements outlined in `isFocusableWindow`.
`final Container`
`getFocusCycleRootAncestor()`
Always returns `null` because Windows have no ancestors; they represent the top of the Component hierarchy.
`Component`
`getFocusOwner()`
Returns the child Component of this Window that has focus if this Window is focused; returns null otherwise.
`Set<AWTKeyStroke>`
`getFocusTraversalKeys(int id)`
Gets a focus traversal key for this Window.
`List<Image>`
`getIconImages()`
Returns the sequence of images to be displayed as the icon for this window.
`InputContext`
`getInputContext()`
Gets the input context for this window.
`<T extends EventListener>
T[]`
`getListeners(Class<T> listenerType)`
Returns an array of all the objects currently registered as `FooListener`s upon this `Window`.
`Locale`
`getLocale()`
Gets the `Locale` object that is associated with this window, if the locale has been set.
`Dialog.ModalExclusionType`
`getModalExclusionType()`
Returns the modal exclusion type of this window.
`Component`
`getMostRecentFocusOwner()`
Returns the child Component of this Window that will receive the focus when this Window is focused.
`float`
`getOpacity()`
Returns the opacity of the window.
`Window[]`
`getOwnedWindows()`
Return an array containing all the windows this window currently owns.
`Window`
`getOwner()`
Returns the owner of this window.
`static Window[]`
`getOwnerlessWindows()`
Returns an array of all `Window`s created by this application that have no owner.
`Shape`
`getShape()`
Returns the shape of the window.
`Toolkit`
`getToolkit()`
Returns the toolkit of this frame.
`Window.Type`
`getType()`
Returns the type of the window.
`final String`
`getWarningString()`
Deprecated, for removal: This API element is subject to removal in a future version.
since JDK 24
`WindowFocusListener[]`
`getWindowFocusListeners()`
Returns an array of all the window focus listeners registered on this window.
`WindowListener[]`
`getWindowListeners()`
Returns an array of all the window listeners registered on this window.
`static Window[]`
`getWindows()`
Returns an array of all `Window`s, both owned and ownerless, created by this application.
`WindowStateListener[]`
`getWindowStateListeners()`
Returns an array of all the window state listeners registered on this window.
`boolean`
`isActive()`
Returns whether this Window is active.
`final boolean`
`isAlwaysOnTop()`
Returns whether this window is an always-on-top window.
`boolean`
`isAlwaysOnTopSupported()`
Returns whether the always-on-top mode is supported for this window.
`boolean`
`isAutoRequestFocus()`
Returns whether this window should receive focus on subsequently being shown (with a call to `setVisible(true)`), or being moved to the front (with a call to `Window.toFront()`).
`final boolean`
`isFocusableWindow()`
Returns whether this Window can become the focused Window, that is, whether this Window or any of its subcomponents can become the focus owner.
`final boolean`
`isFocusCycleRoot()`
Always returns `true` because all Windows must be roots of a focus traversal cycle.
`boolean`
`isFocused()`
Returns whether this Window is focused.
`boolean`
`isLocationByPlatform()`
Returns `true` if this Window will appear at the default location for the native windowing system the next time this Window is made visible.
`boolean`
`isOpaque()`
Indicates if the window is currently opaque.
`boolean`
`isShowing()`
Checks if this Window is showing on screen.
`boolean`
`isValidateRoot()`
Indicates if this container is a validate root.
`void`
`pack()`
Causes this Window to be sized to fit the preferred size and layouts of its subcomponents.
`void`
`paint(Graphics g)`
Paints the container.
`boolean`
`postEvent(Event e)`
Deprecated.
As of JDK version 1.1 replaced by `dispatchEvent(AWTEvent)`.
`protected void`
`processEvent(AWTEvent e)`
Processes events on this window.
`protected void`
`processWindowEvent(WindowEvent e)`
Processes window events occurring on this window by dispatching them to any registered WindowListener objects.
`protected void`
`processWindowFocusEvent(WindowEvent e)`
Processes window focus event occurring on this window by dispatching them to any registered WindowFocusListener objects.
`protected void`
`processWindowStateEvent(WindowEvent e)`
Processes window state event occurring on this window by dispatching them to any registered `WindowStateListener` objects.
`void`
`removeWindowFocusListener(WindowFocusListener l)`
Removes the specified window focus listener so that it no longer receives window events from this window.
`void`
`removeWindowListener(WindowListener l)`
Removes the specified window listener so that it no longer receives window events from this window.
`void`
`removeWindowStateListener(WindowStateListener l)`
Removes the specified window state listener so that it no longer receives window events from this window.
`void`
`reshape(int x, int y, int width, int height)`
Deprecated.
As of JDK version 1.1, replaced by `setBounds(int, int, int, int)`.
`final void`
`setAlwaysOnTop(boolean alwaysOnTop)`
Sets whether this window should always be above other windows.
`void`
`setAutoRequestFocus(boolean autoRequestFocus)`
Sets whether this window should receive focus on subsequently being shown (with a call to `setVisible(true)`), or being moved to the front (with a call to `Window.toFront()`).
`void`
`setBackground(Color bgColor)`
Sets the background color of this window.
`void`
`setBounds(int x, int y, int width, int height)`
Moves and resizes this component.
`void`
`setBounds(Rectangle r)`
Moves and resizes this component to conform to the new bounding rectangle `r`.
`void`
`setCursor(Cursor cursor)`
Set the cursor image to a specified cursor.
`void`
`setFocusableWindowState(boolean focusableWindowState)`
Sets whether this Window can become the focused Window if it meets the other requirements outlined in `isFocusableWindow`.
`final void`
`setFocusCycleRoot(boolean focusCycleRoot)`
Does nothing because Windows must always be roots of a focus traversal cycle.
`void`
`setIconImage(Image image)`
Sets the image to be displayed as the icon for this window.
`void`
`setIconImages(List<? extends Image> icons)`
Sets the sequence of images to be displayed as the icon for this window.
`void`
`setLocation(int x, int y)`
Moves this component to a new location.
`void`
`setLocation(Point p)`
Moves this component to a new location.
`void`
`setLocationByPlatform(boolean locationByPlatform)`
Sets whether this Window should appear at the default location for the native windowing system or at the current location (returned by `getLocation`) the next time the Window is made visible.
`void`
`setLocationRelativeTo(Component c)`
Sets the location of the window relative to the specified component according to the following scenarios.
`void`
`setMinimumSize(Dimension minimumSize)`
Sets the minimum size of this window to a constant value.
`void`
`setModalExclusionType(Dialog.ModalExclusionType exclusionType)`
Specifies the modal exclusion type for this window.
`void`
`setOpacity(float opacity)`
Sets the opacity of the window.
`void`
`setShape(Shape shape)`
Sets the shape of the window.
`void`
`setSize(int width, int height)`
Resizes this component so that it has width `width` and height `height`.
`void`
`setSize(Dimension d)`
Resizes this component so that it has width `d.width` and height `d.height`.
`void`
`setType(Window.Type type)`
Sets the type of the window.
`void`
`toFront()`
If this Window is visible, brings this Window to the front and may make it the focused Window.

### Methods declared in class Container

`add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree`
Modifier and Type
Method
Description
`Component`
`add(Component comp)`
Appends the specified component to the end of this container.
`Component`
`add(Component comp, int index)`
Adds the specified component to this container at the given position.
`void`
`add(Component comp, Object constraints)`
Adds the specified component to the end of this container.
`void`
`add(Component comp, Object constraints, int index)`
Adds the specified component to this container with the specified constraints at the specified index.
`Component`
`add(String name, Component comp)`
Adds the specified component to this container.
`void`
`addContainerListener(ContainerListener l)`
Adds the specified container listener to receive container events from this container.
`protected void`
`addImpl(Component comp, Object constraints, int index)`
Adds the specified component to this container at the specified index.
`void`
`applyComponentOrientation(ComponentOrientation o)`
Sets the `ComponentOrientation` property of this container and all components contained within it.
`boolean`
`areFocusTraversalKeysSet(int id)`
Returns whether the Set of focus traversal keys for the given focus traversal operation has been explicitly defined for this Container.
`int`
`countComponents()`
Deprecated.
As of JDK version 1.1, replaced by getComponentCount().
`void`
`deliverEvent(Event e)`
Deprecated.
As of JDK version 1.1, replaced by `dispatchEvent(AWTEvent e)`
`void`
`doLayout()`
Causes this container to lay out its components.
`Component`
`findComponentAt(int x, int y)`
Locates the visible child component that contains the specified position.
`Component`
`findComponentAt(Point p)`
Locates the visible child component that contains the specified point.
`float`
`getAlignmentX()`
Returns the alignment along the x axis.
`float`
`getAlignmentY()`
Returns the alignment along the y axis.
`Component`
`getComponent(int n)`
Gets the nth component in this container.
`Component`
`getComponentAt(int x, int y)`
Locates the component that contains the x,y position.
`Component`
`getComponentAt(Point p)`
Gets the component that contains the specified point.
`int`
`getComponentCount()`
Gets the number of components in this panel.
`Component[]`
`getComponents()`
Gets all the components in this container.
`int`
`getComponentZOrder(Component comp)`
Returns the z-order index of the component inside the container.
`ContainerListener[]`
`getContainerListeners()`
Returns an array of all the container listeners registered on this container.
`FocusTraversalPolicy`
`getFocusTraversalPolicy()`
Returns the focus traversal policy that will manage keyboard traversal of this Container's children, or null if this Container is not a focus cycle root.
`Insets`
`getInsets()`
Determines the insets of this container, which indicate the size of the container's border.
`LayoutManager`
`getLayout()`
Gets the layout manager for this container.
`Dimension`
`getMaximumSize()`
Returns the maximum size of this container.
`Dimension`
`getMinimumSize()`
Returns the minimum size of this container.
`Point`
`getMousePosition(boolean allowChildren)`
Returns the position of the mouse pointer in this `Container`'s coordinate space if the `Container` is under the mouse pointer, otherwise returns `null`.
`Dimension`
`getPreferredSize()`
Returns the preferred size of this container.
`Insets`
`insets()`
Deprecated.
As of JDK version 1.1, replaced by `getInsets()`.
`void`
`invalidate()`
Invalidates the container.
`boolean`
`isAncestorOf(Component c)`
Checks if the component is contained in the component hierarchy of this container.
`boolean`
`isFocusCycleRoot(Container container)`
Returns whether the specified Container is the focus cycle root of this Container's focus traversal cycle.
`final boolean`
`isFocusTraversalPolicyProvider()`
Returns whether this container provides focus traversal policy.
`boolean`
`isFocusTraversalPolicySet()`
Returns whether the focus traversal policy has been explicitly set for this Container.
`void`
`layout()`
Deprecated.
As of JDK version 1.1, replaced by `doLayout()`.
`void`
`list(PrintStream out, int indent)`
Prints a listing of this container to the specified output stream.
`void`
`list(PrintWriter out, int indent)`
Prints out a list, starting at the specified indentation, to the specified print writer.
`Component`
`locate(int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by `getComponentAt(int, int)`.
`Dimension`
`minimumSize()`
Deprecated.
As of JDK version 1.1, replaced by `getMinimumSize()`.
`void`
`paintComponents(Graphics g)`
Paints each of the components in this container.
`Dimension`
`preferredSize()`
Deprecated.
As of JDK version 1.1, replaced by `getPreferredSize()`.
`void`
`print(Graphics g)`
Prints the container.
`void`
`printComponents(Graphics g)`
Prints each of the components in this container.
`protected void`
`processContainerEvent(ContainerEvent e)`
Processes container events occurring on this container by dispatching them to any registered ContainerListener objects.
`void`
`remove(int index)`
Removes the component, specified by `index`, from this container.
`void`
`remove(Component comp)`
Removes the specified component from this container.
`void`
`removeAll()`
Removes all the components from this container.
`void`
`removeContainerListener(ContainerListener l)`
Removes the specified container listener so it no longer receives container events from this container.
`void`
`removeNotify()`
Makes this Container undisplayable by removing its connection to its native screen resource.
`void`
`setComponentZOrder(Component comp, int index)`
Moves the specified component to the specified z-order index in the container.
`void`
`setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)`
Sets the focus traversal keys for a given traversal operation for this Container.
`void`
`setFocusTraversalPolicy(FocusTraversalPolicy policy)`
Sets the focus traversal policy that will manage keyboard traversal of this Container's children, if this Container is a focus cycle root.
`final void`
`setFocusTraversalPolicyProvider(boolean provider)`
Sets whether this container will be used to provide focus traversal policy.
`void`
`setFont(Font f)`
Sets the font of this container.
`void`
`setLayout(LayoutManager mgr)`
Sets the layout manager for this container.
`void`
`transferFocusDownCycle()`
Transfers the focus down one focus traversal cycle.
`void`
`update(Graphics g)`
Updates the container.
`void`
`validate()`
Validates this container and all of its subcomponents.
`protected void`
`validateTree()`
Recursively descends the container tree and recomputes the layout for any subtrees marked as needing it (those marked as invalid).

### Methods declared in class Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`
Modifier and Type
Method
Description
`boolean`
`action(Event evt, Object what)`
Deprecated.
As of JDK version 1.1, should register this component as ActionListener on component which fires action events.
`void`
`add(PopupMenu popup)`
Adds the specified popup menu to the component.
`void`
`addComponentListener(ComponentListener l)`
Adds the specified component listener to receive component events from this component.
`void`
`addFocusListener(FocusListener l)`
Adds the specified focus listener to receive focus events from this component when this component gains input focus.
`void`
`addHierarchyBoundsListener(HierarchyBoundsListener l)`
Adds the specified hierarchy bounds listener to receive hierarchy bounds events from this component when the hierarchy to which this container belongs changes.
`void`
`addHierarchyListener(HierarchyListener l)`
Adds the specified hierarchy listener to receive hierarchy changed events from this component when the hierarchy to which this container belongs changes.
`void`
`addInputMethodListener(InputMethodListener l)`
Adds the specified input method listener to receive input method events from this component.
`void`
`addKeyListener(KeyListener l)`
Adds the specified key listener to receive key events from this component.
`void`
`addMouseListener(MouseListener l)`
Adds the specified mouse listener to receive mouse events from this component.
`void`
`addMouseMotionListener(MouseMotionListener l)`
Adds the specified mouse motion listener to receive mouse motion events from this component.
`void`
`addMouseWheelListener(MouseWheelListener l)`
Adds the specified mouse wheel listener to receive mouse wheel events from this component.
`Rectangle`
`bounds()`
Deprecated.
As of JDK version 1.1, replaced by `getBounds()`.
`int`
`checkImage(Image image, int width, int height, ImageObserver observer)`
Returns the status of the construction of a screen representation of the specified image.
`int`
`checkImage(Image image, ImageObserver observer)`
Returns the status of the construction of a screen representation of the specified image.
`protected AWTEvent`
`coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent)`
Potentially coalesce an event being posted with an existing event.
`boolean`
`contains(int x, int y)`
Checks whether this component "contains" the specified point, where `x` and `y` are defined to be relative to the coordinate system of this component.
`boolean`
`contains(Point p)`
Checks whether this component "contains" the specified point, where the point's x and y coordinates are defined to be relative to the coordinate system of this component.
`Image`
`createImage(int width, int height)`
Creates an off-screen drawable image to be used for double buffering.
`Image`
`createImage(ImageProducer producer)`
Creates an image from the specified image producer.
`VolatileImage`
`createVolatileImage(int width, int height)`
Creates a volatile off-screen drawable image to be used for double buffering.
`VolatileImage`
`createVolatileImage(int width, int height, ImageCapabilities caps)`
Creates a volatile off-screen drawable image, with the given capabilities.
`void`
`disable()`
Deprecated.
As of JDK version 1.1, replaced by `setEnabled(boolean)`.
`protected final void`
`disableEvents(long eventsToDisable)`
Disables the events defined by the specified event mask parameter from being delivered to this component.
`final void`
`dispatchEvent(AWTEvent e)`
Dispatches an event to this component or one of its sub components.
`void`
`enable()`
Deprecated.
As of JDK version 1.1, replaced by `setEnabled(boolean)`.
`void`
`enable(boolean b)`
Deprecated.
As of JDK version 1.1, replaced by `setEnabled(boolean)`.
`protected final void`
`enableEvents(long eventsToEnable)`
Enables the events defined by the specified event mask parameter to be delivered to this component.
`void`
`enableInputMethods(boolean enable)`
Enables or disables input method support for this component.
`protected void`
`firePropertyChange(String propertyName, boolean oldValue, boolean newValue)`
Support for reporting bound property changes for boolean properties.
`void`
`firePropertyChange(String propertyName, byte oldValue, byte newValue)`
Reports a bound property change.
`void`
`firePropertyChange(String propertyName, char oldValue, char newValue)`
Reports a bound property change.
`void`
`firePropertyChange(String propertyName, double oldValue, double newValue)`
Reports a bound property change.
`void`
`firePropertyChange(String propertyName, float oldValue, float newValue)`
Reports a bound property change.
`protected void`
`firePropertyChange(String propertyName, int oldValue, int newValue)`
Support for reporting bound property changes for integer properties.
`void`
`firePropertyChange(String propertyName, long oldValue, long newValue)`
Reports a bound property change.
`void`
`firePropertyChange(String propertyName, short oldValue, short newValue)`
Reports a bound property change.
`protected void`
`firePropertyChange(String propertyName, Object oldValue, Object newValue)`
Support for reporting bound property changes for Object properties.
`int`
`getBaseline(int width, int height)`
Returns the baseline.
`Component.BaselineResizeBehavior`
`getBaselineResizeBehavior()`
Returns an enum indicating how the baseline of the component changes as the size changes.
`Rectangle`
`getBounds()`
Gets the bounds of this component in the form of a `Rectangle` object.
`Rectangle`
`getBounds(Rectangle rv)`
Stores the bounds of this component into "return value" rv and return rv.
`ColorModel`
`getColorModel()`
Gets the instance of `ColorModel` used to display the component on the output device.
`ComponentListener[]`
`getComponentListeners()`
Returns an array of all the component listeners registered on this component.
`ComponentOrientation`
`getComponentOrientation()`
Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component.
`Cursor`
`getCursor()`
Gets the cursor set in the component.
`DropTarget`
`getDropTarget()`
Gets the `DropTarget` associated with this `Component`.
`FocusListener[]`
`getFocusListeners()`
Returns an array of all the focus listeners registered on this component.
`boolean`
`getFocusTraversalKeysEnabled()`
Returns whether focus traversal keys are enabled for this Component.
`Font`
`getFont()`
Gets the font of this component.
`FontMetrics`
`getFontMetrics(Font font)`
Gets the font metrics for the specified font.
`Color`
`getForeground()`
Gets the foreground color of this component.
`Graphics`
`getGraphics()`
Creates a graphics context for this component.
`GraphicsConfiguration`
`getGraphicsConfiguration()`
Gets the `GraphicsConfiguration` associated with this `Component`.
`int`
`getHeight()`
Returns the current height of this component.
`HierarchyBoundsListener[]`
`getHierarchyBoundsListeners()`
Returns an array of all the hierarchy bounds listeners registered on this component.
`HierarchyListener[]`
`getHierarchyListeners()`
Returns an array of all the hierarchy listeners registered on this component.
`boolean`
`getIgnoreRepaint()`
Returns whether or not paint messages received from the operating system should be ignored.
`InputMethodListener[]`
`getInputMethodListeners()`
Returns an array of all the input method listeners registered on this component.
`InputMethodRequests`
`getInputMethodRequests()`
Gets the input method request handler which supports requests from input methods for this component.
`KeyListener[]`
`getKeyListeners()`
Returns an array of all the key listeners registered on this component.
`Point`
`getLocation()`
Gets the location of this component in the form of a point specifying the component's top-left corner.
`Point`
`getLocation(Point rv)`
Stores the x,y origin of this component into "return value" rv and return rv.
`Point`
`getLocationOnScreen()`
Gets the location of this component in the form of a point specifying the component's top-left corner in the screen's coordinate space.
`MouseListener[]`
`getMouseListeners()`
Returns an array of all the mouse listeners registered on this component.
`MouseMotionListener[]`
`getMouseMotionListeners()`
Returns an array of all the mouse motion listeners registered on this component.
`Point`
`getMousePosition()`
Returns the position of the mouse pointer in this `Component`'s coordinate space if the `Component` is directly under the mouse pointer, otherwise returns `null`.
`MouseWheelListener[]`
`getMouseWheelListeners()`
Returns an array of all the mouse wheel listeners registered on this component.
`String`
`getName()`
Gets the name of the component.
`Container`
`getParent()`
Gets the parent of this component.
`PropertyChangeListener[]`
`getPropertyChangeListeners()`
Returns an array of all the property change listeners registered on this component.
`PropertyChangeListener[]`
`getPropertyChangeListeners(String propertyName)`
Returns an array of all the listeners which have been associated with the named property.
`Dimension`
`getSize()`
Returns the size of this component in the form of a `Dimension` object.
`Dimension`
`getSize(Dimension rv)`
Stores the width/height of this component into "return value" rv and return rv.
`final Object`
`getTreeLock()`
Gets this component's locking object (the object that owns the thread synchronization monitor) for AWT component-tree and layout operations.
`int`
`getWidth()`
Returns the current width of this component.
`int`
`getX()`
Returns the current x coordinate of the components origin.
`int`
`getY()`
Returns the current y coordinate of the components origin.
`boolean`
`gotFocus(Event evt, Object what)`
Deprecated.
As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).
`boolean`
`handleEvent(Event evt)`
Deprecated.
As of JDK version 1.1 replaced by processEvent(AWTEvent).
`boolean`
`hasFocus()`
Returns `true` if this `Component` is the focus owner.
`boolean`
`imageUpdate(Image img, int infoflags, int x, int y, int w, int h)`
Repaints the component when the image has changed.
`boolean`
`inside(int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by contains(int, int).
`boolean`
`isBackgroundSet()`
Returns whether the background color has been explicitly set for this Component.
`boolean`
`isCursorSet()`
Returns whether the cursor has been explicitly set for this Component.
`boolean`
`isDisplayable()`
Determines whether this component is displayable.
`boolean`
`isDoubleBuffered()`
Returns true if this component is painted to an offscreen image ("buffer") that's copied to the screen later.
`boolean`
`isEnabled()`
Determines whether this component is enabled.
`boolean`
`isFocusable()`
Returns whether this Component can be focused.
`boolean`
`isFocusOwner()`
Returns `true` if this `Component` is the focus owner.
`boolean`
`isFocusTraversable()`
Deprecated.
As of 1.4, replaced by `isFocusable()`.
`boolean`
`isFontSet()`
Returns whether the font has been explicitly set for this Component.
`boolean`
`isForegroundSet()`
Returns whether the foreground color has been explicitly set for this Component.
`boolean`
`isLightweight()`
A lightweight component doesn't have a native toolkit peer.
`boolean`
`isMaximumSizeSet()`
Returns true if the maximum size has been set to a non-`null` value otherwise returns false.
`boolean`
`isMinimumSizeSet()`
Returns whether or not `setMinimumSize` has been invoked with a non-null value.
`boolean`
`isPreferredSizeSet()`
Returns true if the preferred size has been set to a non-`null` value otherwise returns false.
`boolean`
`isValid()`
Determines whether this component is valid.
`boolean`
`isVisible()`
Determines whether this component should be visible when its parent is visible.
`boolean`
`keyDown(Event evt, int key)`
Deprecated.
As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).
`boolean`
`keyUp(Event evt, int key)`
Deprecated.
As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).
`void`
`list()`
Prints a listing of this component to the standard system output stream `System.out`.
`void`
`list(PrintStream out)`
Prints a listing of this component to the specified output stream.
`void`
`list(PrintWriter out)`
Prints a listing to the specified print writer.
`Point`
`location()`
Deprecated.
As of JDK version 1.1, replaced by `getLocation()`.
`boolean`
`lostFocus(Event evt, Object what)`
Deprecated.
As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).
`boolean`
`mouseDown(Event evt, int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
`boolean`
`mouseDrag(Event evt, int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).
`boolean`
`mouseEnter(Event evt, int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
`boolean`
`mouseExit(Event evt, int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
`boolean`
`mouseMove(Event evt, int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).
`boolean`
`mouseUp(Event evt, int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).
`void`
`move(int x, int y)`
Deprecated.
As of JDK version 1.1, replaced by `setLocation(int, int)`.
`void`
`nextFocus()`
Deprecated.
As of JDK version 1.1, replaced by transferFocus().
`void`
`paintAll(Graphics g)`
Paints this component and all of its subcomponents.
`boolean`
`prepareImage(Image image, int width, int height, ImageObserver observer)`
Prepares an image for rendering on this component at the specified width and height.
`boolean`
`prepareImage(Image image, ImageObserver observer)`
Prepares an image for rendering on this component.
`void`
`printAll(Graphics g)`
Prints this component and all of its subcomponents.
`protected void`
`processComponentEvent(ComponentEvent e)`
Processes component events occurring on this component by dispatching them to any registered `ComponentListener` objects.
`protected void`
`processFocusEvent(FocusEvent e)`
Processes focus events occurring on this component by dispatching them to any registered `FocusListener` objects.
`protected void`
`processHierarchyBoundsEvent(HierarchyEvent e)`
Processes hierarchy bounds events occurring on this component by dispatching them to any registered `HierarchyBoundsListener` objects.
`protected void`
`processHierarchyEvent(HierarchyEvent e)`
Processes hierarchy events occurring on this component by dispatching them to any registered `HierarchyListener` objects.
`protected void`
`processInputMethodEvent(InputMethodEvent e)`
Processes input method events occurring on this component by dispatching them to any registered `InputMethodListener` objects.
`protected void`
`processKeyEvent(KeyEvent e)`
Processes key events occurring on this component by dispatching them to any registered `KeyListener` objects.
`protected void`
`processMouseEvent(MouseEvent e)`
Processes mouse events occurring on this component by dispatching them to any registered `MouseListener` objects.
`protected void`
`processMouseMotionEvent(MouseEvent e)`
Processes mouse motion events occurring on this component by dispatching them to any registered `MouseMotionListener` objects.
`protected void`
`processMouseWheelEvent(MouseWheelEvent e)`
Processes mouse wheel events occurring on this component by dispatching them to any registered `MouseWheelListener` objects.
`void`
`remove(MenuComponent popup)`
Removes the specified popup menu from the component.
`void`
`removeComponentListener(ComponentListener l)`
Removes the specified component listener so that it no longer receives component events from this component.
`void`
`removeFocusListener(FocusListener l)`
Removes the specified focus listener so that it no longer receives focus events from this component.
`void`
`removeHierarchyBoundsListener(HierarchyBoundsListener l)`
Removes the specified hierarchy bounds listener so that it no longer receives hierarchy bounds events from this component.
`void`
`removeHierarchyListener(HierarchyListener l)`
Removes the specified hierarchy listener so that it no longer receives hierarchy changed events from this component.
`void`
`removeInputMethodListener(InputMethodListener l)`
Removes the specified input method listener so that it no longer receives input method events from this component.
`void`
`removeKeyListener(KeyListener l)`
Removes the specified key listener so that it no longer receives key events from this component.
`void`
`removeMouseListener(MouseListener l)`
Removes the specified mouse listener so that it no longer receives mouse events from this component.
`void`
`removeMouseMotionListener(MouseMotionListener l)`
Removes the specified mouse motion listener so that it no longer receives mouse motion events from this component.
`void`
`removeMouseWheelListener(MouseWheelListener l)`
Removes the specified mouse wheel listener so that it no longer receives mouse wheel events from this component.
`void`
`removePropertyChangeListener(PropertyChangeListener listener)`
Removes a PropertyChangeListener from the listener list.
`void`
`removePropertyChangeListener(String propertyName, PropertyChangeListener listener)`
Removes a `PropertyChangeListener` from the listener list for a specific property.
`void`
`repaint()`
Repaints this component.
`void`
`repaint(int x, int y, int width, int height)`
Repaints the specified rectangle of this component.
`void`
`repaint(long tm)`
Repaints the component.
`void`
`repaint(long tm, int x, int y, int width, int height)`
Repaints the specified rectangle of this component within `tm` milliseconds.
`void`
`requestFocus()`
Requests that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.
`protected boolean`
`requestFocus(boolean temporary)`
Requests that this `Component` get the input focus, and that this `Component`'s top-level ancestor become the focused `Window`.
`protected boolean`
`requestFocus(boolean temporary, FocusEvent.Cause cause)`
Requests by the reason of `cause` that this `Component` get the input focus, and that this `Component`'s top-level ancestor become the focused `Window`.
`void`
`requestFocus(FocusEvent.Cause cause)`
Requests by the reason of `cause` that this Component get the input focus, and that this Component's top-level ancestor become the focused Window.
`boolean`
`requestFocusInWindow()`
Requests that this Component get the input focus, if this Component's top-level ancestor is already the focused Window.
`protected boolean`
`requestFocusInWindow(boolean temporary)`
Requests that this `Component` get the input focus, if this `Component`'s top-level ancestor is already the focused `Window`.
`boolean`
`requestFocusInWindow(FocusEvent.Cause cause)`
Requests by the reason of `cause` that this Component get the input focus, if this Component's top-level ancestor is already the focused Window.
`void`
`resize(int width, int height)`
Deprecated.
As of JDK version 1.1, replaced by `setSize(int, int)`.
`void`
`resize(Dimension d)`
Deprecated.
As of JDK version 1.1, replaced by `setSize(Dimension)`.
`void`
`revalidate()`
Revalidates the component hierarchy up to the nearest validate root.
`void`
`setComponentOrientation(ComponentOrientation o)`
Sets the language-sensitive orientation that is to be used to order the elements or text within this component.
`void`
`setDropTarget(DropTarget dt)`
Associate a `DropTarget` with this component.
`void`
`setEnabled(boolean b)`
Enables or disables this component, depending on the value of the parameter `b`.
`void`
`setFocusable(boolean focusable)`
Sets the focusable state of this Component to the specified value.
`void`
`setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)`
Sets whether focus traversal keys are enabled for this Component.
`void`
`setForeground(Color c)`
Sets the foreground color of this component.
`void`
`setIgnoreRepaint(boolean ignoreRepaint)`
Sets whether or not paint messages received from the operating system should be ignored.
`void`
`setLocale(Locale l)`
Sets the locale of this component.
`void`
`setMaximumSize(Dimension maximumSize)`
Sets the maximum size of this component to a constant value.
`void`
`setMixingCutoutShape(Shape shape)`
Sets a 'mixing-cutout' shape for this lightweight component.
`void`
`setName(String name)`
Sets the name of the component to the specified string.
`void`
`setPreferredSize(Dimension preferredSize)`
Sets the preferred size of this component to a constant value.
`void`
`show(boolean b)`
Deprecated.
As of JDK version 1.1, replaced by `setVisible(boolean)`.
`Dimension`
`size()`
Deprecated.
As of JDK version 1.1, replaced by `getSize()`.
`String`
`toString()`
Returns a string representation of this component and its values.
`void`
`transferFocus()`
Transfers the focus to the next component, as though this Component were the focus owner.
`void`
`transferFocusBackward()`
Transfers the focus to the previous component, as though this Component were the focus owner.
`void`
`transferFocusUpCycle()`
Transfers the focus up one focus traversal cycle.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Field Details

### LOAD

@Native public static final int LOAD
This constant value indicates that the purpose of the file dialog window is to locate a file from which to read.

See Also:
  - Constant Field Values

### SAVE

@Native public static final int SAVE
This constant value indicates that the purpose of the file dialog window is to locate a file to which to write.

See Also:
  - Constant Field Values

## Constructor Details

### FileDialog

public FileDialog(Frame parent)
Creates a file dialog for loading a file. The title of the file dialog is initially empty. This is a convenience method for `FileDialog(parent, "", LOAD)`.

Note: Some platforms may not support showing the user-specified title in a file dialog. In this situation, either no title will be displayed in the file dialog's title bar or, on some systems, the file dialog's title bar will not be displayed.

Parameters:
  `parent` - the owner of the dialog
Since:
  1.1

### FileDialog

public FileDialog(Frame parent, String title)
Creates a file dialog window with the specified title for loading a file. The files shown are those in the current directory. This is a convenience method for `FileDialog(parent, title, LOAD)`.

Note: Some platforms may not support showing the user-specified title in a file dialog. In this situation, either no title will be displayed in the file dialog's title bar or, on some systems, the file dialog's title bar will not be displayed.

Parameters:
  `parent` - the owner of the dialog
  `title` - the title of the dialog

### FileDialog

public FileDialog(Frame parent, String title, int mode)
Creates a file dialog window with the specified title for loading or saving a file.

If the value of `mode` is `LOAD`, then the file dialog is finding a file to read, and the files shown are those in the current directory. If the value of `mode` is `SAVE`, the file dialog is finding a place to write a file.

Note: Some platforms may not support showing the user-specified title in a file dialog. In this situation, either no title will be displayed in the file dialog's title bar or, on some systems, the file dialog's title bar will not be displayed.

Parameters:
  `parent` - the owner of the dialog
  `title` - the title of the dialog
  `mode` - the mode of the dialog; either `FileDialog.LOAD` or `FileDialog.SAVE`
Throws:
  `IllegalArgumentException` - if an illegal file dialog mode is supplied
See Also:
  - `LOAD`
  - `SAVE`

### FileDialog

public FileDialog(Dialog parent)
Creates a file dialog for loading a file. The title of the file dialog is initially empty. This is a convenience method for `FileDialog(parent, "", LOAD)`.

Note: Some platforms may not support showing the user-specified title in a file dialog. In this situation, either no title will be displayed in the file dialog's title bar or, on some systems, the file dialog's title bar will not be displayed.

Parameters:
  `parent` - the owner of the dialog
Throws:
  `IllegalArgumentException` - if the `parent`'s `GraphicsConfiguration` is not from a screen device;
  `IllegalArgumentException` - if `parent` is `null`; this exception is always thrown when `GraphicsEnvironment.isHeadless` returns `true`
Since:
  1.5
See Also:
  - `GraphicsEnvironment.isHeadless()`

### FileDialog

public FileDialog(Dialog parent, String title)
Creates a file dialog window with the specified title for loading a file. The files shown are those in the current directory. This is a convenience method for `FileDialog(parent, title, LOAD)`.

Note: Some platforms may not support showing the user-specified title in a file dialog. In this situation, either no title will be displayed in the file dialog's title bar or, on some systems, the file dialog's title bar will not be displayed.

Parameters:
  `parent` - the owner of the dialog
  `title` - the title of the dialog; a `null` value will be accepted without causing a `NullPointerException` to be thrown
Throws:
  `IllegalArgumentException` - if the `parent`'s `GraphicsConfiguration` is not from a screen device;
  `IllegalArgumentException` - if `parent` is `null`; this exception is always thrown when `GraphicsEnvironment.isHeadless` returns `true`
Since:
  1.5
See Also:
  - `GraphicsEnvironment.isHeadless()`

### FileDialog

public FileDialog(Dialog parent, String title, int mode)
Creates a file dialog window with the specified title for loading or saving a file.

If the value of `mode` is `LOAD`, then the file dialog is finding a file to read, and the files shown are those in the current directory. If the value of `mode` is `SAVE`, the file dialog is finding a place to write a file.

Note: Some platforms may not support showing the user-specified title in a file dialog. In this situation, either no title will be displayed in the file dialog's title bar or, on some systems, the file dialog's title bar will not be displayed.

Parameters:
  `parent` - the owner of the dialog
  `title` - the title of the dialog; a `null` value will be accepted without causing a `NullPointerException` to be thrown
  `mode` - the mode of the dialog; either `FileDialog.LOAD` or `FileDialog.SAVE`
Throws:
  `IllegalArgumentException` - if an illegal file dialog mode is supplied;
  `IllegalArgumentException` - if the `parent`'s `GraphicsConfiguration` is not from a screen device;
  `IllegalArgumentException` - if `parent` is `null`; this exception is always thrown when `GraphicsEnvironment.isHeadless` returns `true`
Since:
  1.5
See Also:
  - `GraphicsEnvironment.isHeadless()`
  - `LOAD`
  - `SAVE`

## Method Details

### setTitle

public void setTitle(String title)
Sets the title of the Dialog.

Note: Some platforms may not support showing the user-specified title in a file dialog. In this situation, either no title will be displayed in the file dialog's title bar or, on some systems, the file dialog's title bar will not be displayed.

Overrides:
  `setTitle` in class `Dialog`
Parameters:
  `title` - the title displayed in the dialog's border; a null value results in an empty title
See Also:
  - `Dialog.getTitle()`

### addNotify

public void addNotify()
Creates the file dialog's peer. The peer allows us to change the look of the file dialog without changing its functionality.

Overrides:
  `addNotify` in class `Dialog`
See Also:
  - `Component.isDisplayable()`
  - `Container.removeNotify()`

### getMode

public int getMode()
Indicates whether this file dialog box is for loading from a file or for saving to a file.

Returns:
  the mode of this file dialog window, either `FileDialog.LOAD` or `FileDialog.SAVE`
See Also:
  - `LOAD`
  - `SAVE`
  - `setMode(int)`

### setMode

public void setMode(int mode)
Sets the mode of the file dialog. If `mode` is not a legal value, an exception will be thrown and `mode` will not be set.

Parameters:
  `mode` - the mode for this file dialog, either `FileDialog.LOAD` or `FileDialog.SAVE`
Throws:
  `IllegalArgumentException` - if an illegal file dialog mode is supplied
Since:
  1.1
See Also:
  - `LOAD`
  - `SAVE`
  - `getMode()`

### getDirectory

public String getDirectory()
Gets the directory of this file dialog.

Returns:
  the (potentially `null` or invalid) directory of this `FileDialog`
See Also:
  - `setDirectory(String)`

### setDirectory

public void setDirectory(String dir)
Sets the directory of this file dialog window to be the specified directory. Specifying a `null` or an invalid directory implies an implementation-defined default. This default will not be realized, however, until the user has selected a file. Until this point, `getDirectory()` will return the value passed into this method.

Specifying "" as the directory is exactly equivalent to specifying `null` as the directory.

Parameters:
  `dir` - the specified directory
See Also:
  - `getDirectory()`

### getFile

public String getFile()
Gets the selected file of this file dialog. If the user selected `CANCEL`, the returned file is `null`.

It is platform-specific as to what happens for `LOAD` mode of a non-existent file. For example, it may be possible for the user to "accept" the result of a `setFile` value or to edit in the name of some other file to load/open even if it is not present. Applications should therefore verify the file represented by the returned `String` exists. The value is usually the basename, not a full path name.

Returns:
  the currently selected file of this file dialog window, or `null` if none is selected
See Also:
  - `setFile(String)`

### getFiles

public File[] getFiles()
Returns files that the user selects.

If the user cancels the file dialog, then the method returns an empty array.

Returns:
  files that the user selects or an empty array if the user cancels the file dialog.
Since:
  1.7
See Also:
  - `setFile(String)`
  - `getFile()`

### setFile

public void setFile(String file)
Sets the selected file for this file dialog window to be the specified file. This file becomes the default file if it is set before the file dialog window is first shown.

When the dialog is shown, the specified file may be pre-selected. The visible manifestation of this selection, if any, depends on factors such as the file existence, the dialog mode, and the native platform. For example, the file could be highlighted in the file list, or a file name editbox could be populated with the file name.

This method accepts either a full file path, or a file name with an extension if used together with the `setDirectory` method. It is platform-specific how a full file path interacts with `setDirectory`. It may be that the directory is always used instead of the file path, or the file path overrides the directory, or even that the full file path is interpreted as a base file name. Therefore, it is strongly recommended to use `setDirectory` to set the folder and `setFile` to set a base file name.

Appearance and behaviours may also differ between `LOAD` and `SAVE` modes.

It is also platform-specific as to what happens for `LOAD` mode of a non-existent file. For example, it may be possible for the user to "accept" the `setFile` value or to edit in the name of some other file to load/open even if it is not present.

Specifying "" as the file is exactly equivalent to specifying `null` as the file.

Parameters:
  `file` - the file being set
See Also:
  - `getFile()`
  - `getFiles()`

### setMultipleMode

public void setMultipleMode(boolean enable)
Enables or disables multiple file selection for the file dialog.

Multiple mode may be ignored in some cases, for example, commonly `SAVE` mode dialogs do not support it.

Parameters:
  `enable` - if `true`, multiple file selection is enabled; `false` - disabled.
Since:
  1.7
See Also:
  - `isMultipleMode()`

### isMultipleMode

public boolean isMultipleMode()
Returns whether the file dialog allows the multiple file selection.

Returns:
  `true` if the file dialog allows the multiple file selection; `false` otherwise.
Since:
  1.7
See Also:
  - `setMultipleMode(boolean)`

### getFilenameFilter

public FilenameFilter getFilenameFilter()
Determines this file dialog's filename filter. A filename filter allows the user to specify which files appear in the file dialog window. Filename filters do not function in Sun's reference implementation for Microsoft Windows.

Returns:
  this file dialog's filename filter
See Also:
  - `FilenameFilter`
  - `setFilenameFilter(FilenameFilter)`

### setFilenameFilter

public void setFilenameFilter(FilenameFilter filter)
Sets the filename filter for this file dialog window to the specified filter. Filename filters do not function in Sun's reference implementation for Microsoft Windows.

Parameters:
  `filter` - the specified filter
See Also:
  - `FilenameFilter`
  - `getFilenameFilter()`

### paramString

protected String paramString()
Returns a string representing the state of this `FileDialog` window. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be `null`.

Overrides:
  `paramString` in class `Dialog`
Returns:
  the parameter string of this file dialog window