RT,JFileChooser默认打开My Documents,请问能设置成用户的桌面吗?因为用户习惯将文件暂时放在桌面上。多谢!

解决方案 »

  1.   

    File desktop = new File(System.getProperty("user.home")+System.getProperty("file.separator")+"桌面");filechooser.setCurrentDirectory(desktop);
      

  2.   


    坚决反对!!!import javax.swing.filechooser.FileSystemView;
    FileSystemView fsv = FileSystemView.getFileSystemView();
    System.out.println(fsv.getHomeDirectory());
      

  3.   

    记得jdk里面有个demo,里面有JFileChooser的例子,你可以参考一下。
    而且我推荐的这个FSV类,对于识别文件系统相关信息很有帮助,比如文件类型描述,系统图标等,当然不是每个都有效,但值得一试
      

  4.   

    中英文系统不通,环境变量都定在home级别,没有桌面
      

  5.   

    需要确定user.home的值是否正确,如果其值不正确,2楼的方法是无法使用的
      

  6.   

    除非你 使用 
    -Duser.home=... 
    或在程序中 调用 
    System.clearProperty("user.home");
    System.setProperty("user.home","...");System.getProperty("user.home"); 总会返回你的主目录。
    new File(System.getProperty("user.home"),"桌面"); // 中文 XP
    new File(System.getProperty("user.home"),"Desktop"); // 我用的 ubuntu5L 的那个返回的结果与这个的区别仅在于一个是 File 一个是 String。没有其他本质的区别。
      

  7.   


    还是有本质区别,而且区别不在于String或File。你那个是基本硬编码。中文版要桌面,英文版Desktop,FSV返回的就是windows下当前用户的桌面(你ubuntu的话,是~,不是desktop),而无论你的desktop是否经过tweek工具修改。比如,我公司里面很多人用的Ghost版的桌面、文档、照片等目录就不在user.home里面,甚至不在C盘。
      

  8.   

    多谢两位,由于我的系统是windows XP,对ubuntu不太了解,目前还没有碰到两位说的那种情况。再次感谢!