当前位置: 首页>>代码示例>>Java>>正文


Java ShellFolder.isLink方法代码示例

本文整理汇总了Java中sun.awt.shell.ShellFolder.isLink方法的典型用法代码示例。如果您正苦于以下问题:Java ShellFolder.isLink方法的具体用法?Java ShellFolder.isLink怎么用?Java ShellFolder.isLink使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sun.awt.shell.ShellFolder的用法示例。


在下文中一共展示了ShellFolder.isLink方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: changeDirectory

import sun.awt.shell.ShellFolder; //导入方法依赖的package包/类
private void changeDirectory(File dir) {
    JFileChooser fc = getFileChooser();
    // Traverse shortcuts on Windows
    if (dir != null && FilePane.usesShellFolder(fc)) {
        try {
            ShellFolder shellFolder = ShellFolder.getShellFolder(dir);

            if (shellFolder.isLink()) {
                File linkedTo = shellFolder.getLinkLocation();

                // If linkedTo is null we try to use dir
                if (linkedTo != null) {
                    if (fc.isTraversable(linkedTo)) {
                        dir = linkedTo;
                    } else {
                        return;
                    }
                } else {
                    dir = shellFolder;
                }
            }
        } catch (FileNotFoundException ex) {
            return;
        }
    }
    fc.setCurrentDirectory(dir);
    if (fc.getFileSelectionMode() == JFileChooser.FILES_AND_DIRECTORIES &&
        fc.getFileSystemView().isFileSystem(dir)) {

        setFileName(dir.getAbsolutePath());
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:33,代码来源:BasicFileChooserUI.java

示例2: changeDirectory

import sun.awt.shell.ShellFolder; //导入方法依赖的package包/类
private void changeDirectory(File dir) {
    JFileChooser fc = getFileChooser();
    // Traverse shortcuts on Windows
    if (dir != null && FilePane.usesShellFolder(fc)) {
        try {
            ShellFolder shellFolder = ShellFolder.getShellFolder(dir);

            if (shellFolder.isLink()) {
                File linkedTo = shellFolder.getLinkLocation();

                if (linkedTo != null && fc.isTraversable(linkedTo)) {
                    dir = linkedTo;
                } else {
                    return;
                }
            }
        } catch (FileNotFoundException ex) {
            return;
        }
    }
    fc.setCurrentDirectory(dir);
    if (fc.getFileSelectionMode() == JFileChooser.FILES_AND_DIRECTORIES &&
        fc.getFileSystemView().isFileSystem(dir)) {

        setFileName(dir.getAbsolutePath());
    }
}
 
开发者ID:openjdk,项目名称:jdk7-jdk,代码行数:28,代码来源:BasicFileChooserUI.java

示例3: changeDirectory

import sun.awt.shell.ShellFolder; //导入方法依赖的package包/类
private void changeDirectory(File dir) {
    JFileChooser fc = getFileChooser();
    // Traverse shortcuts on Windows
    if (null != dir && FilePane.usesShellFolder(fc)) {
        try {
            ShellFolder shellFolder = ShellFolder.getShellFolder(dir);

            if (shellFolder.isLink()) {
                File linkedTo = shellFolder.getLinkLocation();

                // If linkedTo is null we try to use dir
                if (linkedTo != null) {
                    if (fc.isTraversable(linkedTo)) {
                        dir = linkedTo;
                    } else {
                        return;
                    }
                } else {
                    dir = shellFolder;
                }
            }
        } catch (FileNotFoundException ex) {
            return;
        }
    }
    fc.setCurrentDirectory(dir);
    if (fc.getFileSelectionMode() == JFileChooser.FILES_AND_DIRECTORIES
            && fc.getFileSystemView().isFileSystem(dir)) {

        setFileName(dir.getAbsolutePath());
    }
}
 
开发者ID:daimor,项目名称:NBStudio,代码行数:33,代码来源:CacheFileChooserUI.java

示例4: main

import sun.awt.shell.ShellFolder; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    if (OSInfo.getOSType() != OSInfo.OSType.WINDOWS) {
        System.out.println("The test is applicable only for Windows. Skipped.");

        return;
    }

    String tmpDir = System.getProperty("java.io.tmpdir");

    if (tmpDir.length() == 0) { //'java.io.tmpdir' isn't guaranteed to be defined
        tmpDir = System.getProperty("user.home");
    }

    final ShellFolder tmpFile = ShellFolder.getShellFolder(new File(tmpDir));

    System.out.println("Temp directory: " + tmpDir);

    System.out.println("Stress test was run");

    Thread thread = new Thread() {
        public void run() {
            while (!isInterrupted()) {
                ShellFolder.invoke(new Callable<Void>() {
                    public Void call() throws Exception {
                        synchronized (mux) {
                            tmpFile.isFileSystem();
                            tmpFile.isLink();
                        }

                        return null;
                    }
                });
            }
        }
    };

    thread.start();

    for (int i = 0; i < COUNT; i++) {
        synchronized (mux) {
            clearField(tmpFile, "cachedIsLink");
            clearField(tmpFile, "cachedIsFileSystem");
        }

        tmpFile.isFileSystem();
        tmpFile.isLink();
    }

    thread.interrupt();
    thread.join();

    System.out.println("Test passed successfully");
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:54,代码来源:bug6741890.java


注:本文中的sun.awt.shell.ShellFolder.isLink方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。