Java JFileChooser vs JDialog vs FileDialog

Java JFileChooser vs JDialog vs FileDialog,java,jfilechooser,jdialog,filedialog,Java,Jfilechooser,Jdialog,Filedialog,我需要知道这三个选项中哪一个最适合我。我的要求按重要性顺序如下: 轻松保存和加载文件 文件类型筛选在文件选择期间(而不是之后)进行 外观与感觉与本机操作系统L&F完全相同 如果有一个我没有提到的更理想的对话框,请告诉我。您的应用程序的其余部分是用什么编写的?如果您使用AWT,您应该使用。如果你用秋千,你应该用。这两个类都满足您的所有要求。(A只是一个空窗口,如果您在其中添加了允许您打开的组件,并且JFileChooser已经为您这样做了,则只能使用它打开文件。) 保存和加载必须使用您自己的方

我需要知道这三个选项中哪一个最适合我。我的要求按重要性顺序如下:

  • 轻松保存和加载文件
  • 文件类型筛选在文件选择期间(而不是之后)进行
  • 外观与感觉与本机操作系统L&F完全相同

如果有一个我没有提到的更理想的对话框,请告诉我。

您的应用程序的其余部分是用什么编写的?如果您使用AWT,您应该使用。如果你用秋千,你应该用。这两个类都满足您的所有要求。(A只是一个空窗口,如果您在其中添加了允许您打开的
组件,并且
JFileChooser
已经为您这样做了,则只能使用它打开文件。)

保存和加载必须使用您自己的方法编写,
JFileChooser
FileDialog
都只能用于选择文件

在选择过程中,和都支持文件筛选器


FileDialog
的默认用户界面是本机操作系统
JFileChooser(事实上,您的整个应用程序)的UI可以通过
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())

将其设置为本机操作系统,因为启动J的任何东西都是swing,所以不太可能与本机操作系统匹配。JFileChooser允许完全过滤,AWT文件对话框可能会更好。JDialog是一个空白对话框!!我已经知道很多了。我真正想要的是一个满足所有3个项目的解决方案。我简直不敢相信java不会提供这样一个既能提供熟悉的L&F又能提供体面过滤系统的解决方案。这是无法实现的吗?FileDialog的文件过滤器太差了。我试过了。上一次我试过setLookAndFeel,但它没有改变任何事情,但我会尝试一下。这可能是个人的错误。@PerryMonschau这可能很糟糕,但它仍然存在。您需要在创建组件之前调用
setLookAndFeel
,或者在最高级别的容器上调用
SwingUtilities#updateComponentTreeUI
,正如javadoc所述。不,请参见JFileChooser的内部组件具有相同的L&F,但是布局不是操作系统固有的。然而,FileDialog实际上有本机文件过滤系统,我只是习惯了不同的操作系统。