/*
 * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package javafx.stage;

import com.sun.javafx.tk.Toolkit;
import java.io.File;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;

// PENDING_DOC_REVIEW
Provides support for standard directory chooser dialogs. These dialogs have look and feel of the platform UI components which is independent of JavaFX. On some platforms where file access may be restricted or not part of the user model (for example, on some mobile or embedded devices), opening a directory dialog may always result in a no-op (that is, null file being returned).
Since:JavaFX 2.1
/** * Provides support for standard directory chooser dialogs. These dialogs have * look and feel of the platform UI components which is independent of JavaFX. * * On some platforms where file access may be restricted or not part of the user * model (for example, on some mobile or embedded devices), opening a directory * dialog may always result in a no-op (that is, null file being returned). * * @since JavaFX 2.1 */
public final class DirectoryChooser {
The title of the displayed dialog.
/** * The title of the displayed dialog. */
private StringProperty title; public final void setTitle(final String value) { titleProperty().set(value); } public final String getTitle() { return (title != null) ? title.get() : null; } public final StringProperty titleProperty() { if (title == null) { title = new SimpleStringProperty(this, "title"); } return title; }
The initial directory for the displayed dialog.
/** * The initial directory for the displayed dialog. */
private ObjectProperty<File> initialDirectory; public final void setInitialDirectory(final File value) { initialDirectoryProperty().set(value); } public final File getInitialDirectory() { return (initialDirectory != null) ? initialDirectory.get() : null; } public final ObjectProperty<File> initialDirectoryProperty() { if (initialDirectory == null) { initialDirectory = new SimpleObjectProperty<File>(this, "initialDirectory"); } return initialDirectory; }
Shows a new directory selection dialog. The method doesn't return until the displayed dialog is dismissed. The return value specifies the directory chosen by the user or null if no selection has been made. If the owner window for the directory selection dialog is set, input to all windows in the dialog's owner chain is blocked while the dialog is being shown.
Params:
  • ownerWindow – the owner window of the displayed dialog
Returns:the selected directory or null if no directory has been selected
/** * Shows a new directory selection dialog. The method doesn't return until * the displayed dialog is dismissed. The return value specifies the * directory chosen by the user or {@code null} if no selection has been * made. If the owner window for the directory selection dialog is set, * input to all windows in the dialog's owner chain is blocked while the * dialog is being shown. * * @param ownerWindow the owner window of the displayed dialog * @return the selected directory or {@code null} if no directory has been * selected */
public File showDialog(final Window ownerWindow) { return Toolkit.getToolkit().showDirectoryChooser( (ownerWindow != null) ? ownerWindow.getPeer() : null, getTitle(), getInitialDirectory()); } }