public void mouseClicked(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 2) { int index = list.locationToIndex(e.getPoint()); if (index >= 0) { File f = (File) list.getModel().getElementAt(index); try { // Strip trailing ".." f = ShellFolder.getNormalizedFile(f); } catch (IOException ex) { // That's ok, we'll use f as is } if (getFileChooser().isTraversable(f)) { list.clearSelection(); if (getFileChooser().getCurrentDirectory().equals(f)){ rescanCurrentDirectory(getFileChooser()); } else { getFileChooser().setCurrentDirectory(f); } } else { getFileChooser().approveSelection(); } } } }
public void actionPerformed(ActionEvent e) { if (isDirectorySelected()) { File dir = getDirectory(); try { // Strip trailing ".." if (dir != null) { dir = ShellFolder.getNormalizedFile(dir); } } catch (IOException ex) { // Ok, use f as is } if (getFileChooser().getCurrentDirectory().equals(dir)) { directoryList.clearSelection(); fileList.clearSelection(); ListSelectionModel sm = fileList.getSelectionModel(); if (sm instanceof DefaultListSelectionModel) { ((DefaultListSelectionModel)sm).moveLeadSelectionIndex(0); sm.setAnchorSelectionIndex(0); } rescanCurrentDirectory(getFileChooser()); return; } } super.actionPerformed(e); }
public void mouseClicked(MouseEvent evt) { // Note: we can't depend on evt.getSource() because of backward // compatibility if (list != null && SwingUtilities.isLeftMouseButton(evt) && (evt.getClickCount()%2 == 0)) { int index = SwingUtilities2.loc2IndexFileList(list, evt.getPoint()); if (index >= 0) { File f = (File)list.getModel().getElementAt(index); try { // Strip trailing ".." f = ShellFolder.getNormalizedFile(f); } catch (IOException ex) { // That's ok, we'll use f as is } if(getFileChooser().isTraversable(f)) { list.clearSelection(); changeDirectory(f); } else { getFileChooser().approveSelection(); } } } }
public static void main(String[] args) { if (OSInfo.getOSType() != OSInfo.OSType.WINDOWS) { System.out.println("The test was skipped because it is sensible only for Windows."); return; } for (String key : KEYS) { Image image = (Image) ShellFolder.get(key); if (image == null) { throw new RuntimeException("The image '" + key + "' not found."); } if (image != ShellFolder.get(key)) { throw new RuntimeException("The image '" + key + "' is not cached."); } } System.out.println("The test passed."); }
public static void main(String[] args) throws Exception { if (OSInfo.getOSType() != OSInfo.OSType.WINDOWS) { System.out.println("The test is suitable only for Windows, skipped."); return; } SwingUtilities.invokeAndWait(new Runnable() { public void run() { File[] files = (File[]) ShellFolder.get("fileChooserComboBoxFolders"); for (File file : files) { if (file instanceof ShellFolder && ((ShellFolder) file).isLink()) { throw new RuntimeException("Link shouldn't be in FileChooser combobox, " + file.getPath()); } } } }); }