Java 我应该用什么替换sun.awt.shell.ShellFolder,这样我就不会';你没有收到编译警告吗?

Java 我应该用什么替换sun.awt.shell.ShellFolder,这样我就不会';你没有收到编译警告吗?,java,compiler-warnings,jdk-internal-api,Java,Compiler Warnings,Jdk Internal Api,我有一个使用sun.awt.shell.ShellFolder.get(“FileChooserComboxFolders”)的方法(或者如果可能,抑制警告)。我可以用任何不适合Sun的东西替换它,这样它就不会对某些可能的删除发出警告吗 -- 更新:不确定是否需要代码。它在一个遗留代码中,我被要求删除所有编译警告。ShellFolder的一个特殊功能如下所示: new Thread { public void run() { ShellFolder.get("fileChooserC

我有一个使用
sun.awt.shell.ShellFolder.get(“FileChooserComboxFolders”)的方法(或者如果可能,抑制警告)。我可以用任何不适合Sun的东西替换它,这样它就不会对某些可能的删除发出警告吗

--

更新:不确定是否需要代码。它在一个遗留代码中,我被要求删除所有编译警告。ShellFolder的一个特殊功能如下所示:

new Thread {
  public void run() {
    ShellFolder.get("fileChooserComboBoxFolders");
  }
}.start();
--


更新#2了解需要它的原因:JFileChooser仍然有点问题。

避免此警告的唯一解决方案是不要使用
sun.awt.shell.ShellFolder.get
您可以通过在所需方法之前使用
@SuppressWarnings(“全部”)
来抑制警告:

new Thread {
    @SuppressWarnings("all")
    public void run() {
        ShellFolder.get("fileChooserComboBoxFolders"); //No warnings.
    }
}.start();

AFAIK它获取文件系统根目录(Windows:驱动器号),而不做任何处理。这可能需要一段时间,因此这可能会加快JFileChooser在旧java版本中的速度。所以删除

什么是警告?它对我没有任何警告!“警告:sun.awt.shell.ShellFolder是sun专有的API,可能在将来的版本中被删除”我可以用什么来代替它?