- java.lang.Object
-
- javafx.stage.FileChooser
-
public final class FileChooser extends Object
提供对标准平台文件对话框的支持。 这些对话框具有独立于JavaFX的平台UI组件的外观和感觉。在某些可能限制文件访问或不是用户模型的一部分(例如,某些移动或嵌入式设备)的平台上,打开文件对话框可能总是导致无操作(即,空文件是回)。
A
FileChooser
可用于调用文件打开对话框,用于选择单个文件(showOpenDialog
),用于选择多个文件的文件打开对话框(showOpenMultipleDialog
)和文件保存对话框(showSaveDialog
)。 显示对话框的配置由调用相应的show*Dialog
方法之前设置的FileChooser
属性的值控制。 此配置包括对话框的标题,对话框中显示的初始目录和列出的文件的扩展过滤器。 对于尚未明确设置值的配置属性,显示的对话框使用其平台默认值。 调用show对话框方法将被阻止,直到用户选择或取消对话框为止。 如果对话框被取消,则返回值指定所选文件或等于null
。例:
FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open Resource File"); fileChooser.getExtensionFilters().addAll( new ExtensionFilter("Text Files", "*.txt"), new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"), new ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"), new ExtensionFilter("All Files", "*.*")); File selectedFile = fileChooser.showOpenDialog(mainStage); if (selectedFile != null) { mainStage.display(selectedFile); }
- 从以下版本开始:
- JavaFX 2.0
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<File>
initialDirectory
显示文件对话框的初始目录。ObjectProperty<String>
initialFileName
显示对话框的初始文件名。ObjectProperty<FileChooser.ExtensionFilter>
selectedExtensionFilter
此属性用于为下一个显示的对话框预先选择扩展过滤器,并从被忽略的对话框中读取用户选择的扩展过滤器。StringProperty
title
显示文件对话框的标题。
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
FileChooser.ExtensionFilter
定义一个扩展过滤器,用于过滤可以在FileDialog中根据文件扩展名选择哪些文件。
-
构造方法摘要
构造方法 Constructor 描述 FileChooser()
-
方法摘要
-
-
-
Property Detail
-
title
public final StringProperty titleProperty
显示文件对话框的标题。- 另请参见:
-
getTitle()
,setTitle(String)
-
initialDirectory
public final ObjectProperty<File> initialDirectoryProperty
显示文件对话框的初始目录。
-
initialFileName
public final ObjectProperty<String> initialFileNameProperty
显示对话框的初始文件名。此属性主要用于显示的文件保存对话框作为要保存的文件的初始文件名。 如果设置为文件打开对话框,则只有在相应的平台在其文件打开对话框中提供对此类属性的支持时,才会对显示的对话框产生任何影响。
- 从以下版本开始:
- JavaFX 2.2.40
- 另请参见:
-
getInitialFileName()
,setInitialFileName(String)
-
selectedExtensionFilter
public final ObjectProperty<FileChooser.ExtensionFilter> selectedExtensionFilterProperty
此属性用于为下一个显示的对话框预先选择扩展过滤器,并从被忽略的对话框中读取用户选择的扩展过滤器。当显示文件对话框时,将选中selectedExtensionFilter。 如果selectedExtensionFilter的值为null或不包含在扩展过滤器列表中,则将选择扩展名过滤器列表中的第一个扩展过滤器。 否则,将激活指定的selectedExtensionFilter。
关闭对话框后,此属性的值将更新为与对话框中的用户选定的扩展过滤器相匹配。
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getSelectedExtensionFilter()
,setSelectedExtensionFilter(FileChooser.ExtensionFilter)
-
-
方法详细信息
-
setTitle
public final void setTitle(String value)
设置属性标题的值。- Property description:
- 显示文件对话框的标题。
-
getTitle
public final String getTitle()
获取属性标题的值。- Property description:
- 显示文件对话框的标题。
-
titleProperty
public final StringProperty titleProperty()
显示文件对话框的标题。- 另请参见:
-
getTitle()
,setTitle(String)
-
setInitialDirectory
public final void setInitialDirectory(File value)
设置属性initialDirectory的值。- Property description:
- 显示文件对话框的初始目录。
-
getInitialDirectory
public final File getInitialDirectory()
获取属性initialDirectory的值。- Property description:
- 显示文件对话框的初始目录。
-
initialDirectoryProperty
public final ObjectProperty<File> initialDirectoryProperty()
显示文件对话框的初始目录。
-
setInitialFileName
public final void setInitialFileName(String value)
设置属性initialFileName的值。- Property description:
-
显示对话框的初始文件名。
此属性主要用于显示的文件保存对话框作为要保存的文件的初始文件名。 如果设置为文件打开对话框,则只有在相应的平台在其文件打开对话框中提供对此类属性的支持时,才会对显示的对话框产生任何影响。
- 从以下版本开始:
- JavaFX 2.2.40
-
getInitialFileName
public final String getInitialFileName()
获取属性initialFileName的值。- Property description:
-
显示对话框的初始文件名。
此属性主要用于显示的文件保存对话框作为要保存的文件的初始文件名。 如果设置为文件打开对话框,则只有在相应的平台在其文件打开对话框中提供对此类属性的支持时,才会对显示的对话框产生任何影响。
- 从以下版本开始:
- JavaFX 2.2.40
-
initialFileNameProperty
public final ObjectProperty<String> initialFileNameProperty()
显示对话框的初始文件名。此属性主要用于显示的文件保存对话框作为要保存的文件的初始文件名。 如果设置为文件打开对话框,则只有在相应的平台在其文件打开对话框中提供对此类属性的支持时,才会对显示的对话框产生任何影响。
- 从以下版本开始:
- JavaFX 2.2.40
- 另请参见:
-
getInitialFileName()
,setInitialFileName(String)
-
getExtensionFilters
public ObservableList<FileChooser.ExtensionFilter> getExtensionFilters()
获取显示文件对话框中使用的扩展过滤器。 列表中只有一个扩展过滤器在显示的对话框中随时处于活动状态,并且仅显示与此扩展过滤器对应的文件。 列表中的第一个扩展过滤器在对话框被调用时被激活。 然后,用户可以从列表中将活动扩展过滤器切换到任何其他扩展过滤器,并以这种方式控制显示文件的集合。- 结果
- 此对话框中使用的扩展过滤器的可观察列表
-
selectedExtensionFilterProperty
public final ObjectProperty<FileChooser.ExtensionFilter> selectedExtensionFilterProperty()
此属性用于为下一个显示的对话框预先选择扩展过滤器,并从被忽略的对话框中读取用户选择的扩展过滤器。当显示文件对话框时,将选中selectedExtensionFilter。 如果selectedExtensionFilter的值为null或不包含在扩展过滤器列表中,则将选择扩展名过滤器列表中的第一个扩展过滤器。 否则,将激活指定的selectedExtensionFilter。
关闭对话框后,此属性的值将更新为与对话框中的用户选定的扩展过滤器相匹配。
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getSelectedExtensionFilter()
,setSelectedExtensionFilter(FileChooser.ExtensionFilter)
-
setSelectedExtensionFilter
public final void setSelectedExtensionFilter(FileChooser.ExtensionFilter filter)
设置属性selectedExtensionFilter的值。- Property description:
-
此属性用于为下一个显示的对话框预先选择扩展过滤器,并从被忽略的对话框中读取用户选择的扩展过滤器。
当显示文件对话框时,将选中selectedExtensionFilter。 如果selectedExtensionFilter的值为null或不包含在扩展过滤器列表中,则将选择扩展名过滤器列表中的第一个扩展过滤器。 否则,将激活指定的selectedExtensionFilter。
关闭对话框后,此属性的值将更新为与对话框中的用户选定的扩展过滤器相匹配。
- 从以下版本开始:
- JavaFX 8.0
-
getSelectedExtensionFilter
public final FileChooser.ExtensionFilter getSelectedExtensionFilter()
获取selectedExtensionFilter属性的值。- Property description:
-
此属性用于为下一个显示的对话框预先选择扩展过滤器,并从被忽略的对话框中读取用户选择的扩展过滤器。
当显示文件对话框时,将选中selectedExtensionFilter。 如果selectedExtensionFilter的值为null或不包含在扩展过滤器列表中,则将选择扩展名过滤器列表中的第一个扩展过滤器。 否则,将激活指定的selectedExtensionFilter。
关闭对话框后,此属性的值将更新为与对话框中的用户选定的扩展过滤器相匹配。
- 从以下版本开始:
- JavaFX 8.0
-
showOpenDialog
public File showOpenDialog(Window ownerWindow)
显示一个新的文件打开对话框。 该方法不会返回,直到显示的打开的对话框被关闭。 返回值指定用户选择的文件或null
如果未选择)。 如果设置了文件对话框的所有者窗口,则在显示文件对话框时,将阻止对话框所有者链中所有窗口的输入。- 参数
-
ownerWindow
- 显示文件对话框的所有者窗口 - 结果
-
所选文件或
null
如果没有选择文件)
-
showOpenMultipleDialog
public List<File> showOpenMultipleDialog(Window ownerWindow)
显示一个新的文件打开对话框,其中可以选择多个文件。 该方法不会返回,直到显示的打开的对话框被关闭。 返回值指定用户选择的文件或null
如果没有进行选择。 如果设置了文件对话框的所有者窗口,则在显示文件对话框时,将阻止对话框所有者链中所有窗口的输入。返回的列表是不可修改的,每次修改尝试都会抛出
UnsupportedOperationException
。- 参数
-
ownerWindow
- 显示文件对话框的所有者窗口 - 结果
-
所选文件或
null
如果没有选择文件
-
-