public static void main(String[] args) throws Exception { tempDir = System.getProperty("java.io.tmpdir"); if (tempDir.length() == 0) { //'java.io.tmpdir' isn't guaranteed to be defined tempDir = System.getProperty("user.home"); } System.out.println("Temp directory: " + tempDir); UIManager.setLookAndFeel(new MetalLookAndFeel()); SwingUtilities.invokeAndWait(new Runnable() { public void run() { HackedFileChooser openChooser = new HackedFileChooser(); openChooser.setUI(new MetalFileChooserUI(openChooser)); openChooser.setCurrentDirectory(new File(tempDir)); } }); }
/** JDKBUG: get current selected filename. */ private String getCurrentFileName() { final FileChooserUI fchui = getUI(); String fileName; if (fchui instanceof MetalFileChooserUI) { fileName = ((MetalFileChooserUI)fchui).getFileName(); } else if(WindowsFileChooserUIClass!=null && WindowsFileChooserUIClass.isInstance(fchui) && getFileNameMethod!=null) { try{ fileName = (String)getFileNameMethod.invoke(fchui, (Object[])null); } catch(Exception ex){ fileName=null; } } else { fileName = null; } return fileName == null || fileName.trim().length()== 0 ? null : fileName; }