javax.swing.JFileChooser#putClientProperty ( )源码实例Demo

下面列出了javax.swing.JFileChooser#putClientProperty ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: chipster   文件: RemoteSessionChooserFactory.java
public static ServerFileSystemView updateRemoteSessions(SessionManager sessionManager,
		JFileChooser sessionFileChooser, boolean excludeExampleSessions) throws FileBrokerException, MalformedURLException, AuthCancelledException {
	List<DbSession> sessions = sessionManager.listRemoteSessions();
	
	// hide example sessions
	if (excludeExampleSessions) {
		List<DbSession> sessionsToHide = new LinkedList<DbSession>();
		for (DbSession session: sessions) {
			if (session.getName().startsWith(DerbyMetadataServer.DEFAULT_EXAMPLE_SESSION_FOLDER)) {
				sessionsToHide.add(session);
			}
		}
		sessions.removeAll(sessionsToHide);
	}
		
	ServerFileSystemView view = ServerFileSystemView.parseFromPaths(ServerFile.SERVER_SESSION_ROOT_FOLDER, sessions);		
	sessionFileChooser.setFileSystemView(view);
	// without this the GUI doesn't update when a session is removed
	sessionFileChooser.setCurrentDirectory(null);
	sessionFileChooser.setCurrentDirectory(view.getRoot());		
	sessionFileChooser.putClientProperty("sessions", sessions);
	// without this removed sessions are shown after folder change
	sessionFileChooser.updateUI();
	return view;
}
 
源代码2 项目: SikuliX1   文件: SikulixFileChooser.java
private void processDialog(int selectionMode, String last_dir, String title, int mode, Object[] filters,
                           Object[] result) {
  JFileChooser fchooser = new JFileChooser();
  File fileChoosen = null;
  FileFilter filterChoosen = null;
  if (!last_dir.isEmpty()) {
    fchooser.setCurrentDirectory(new File(last_dir));
  }
  fchooser.setSelectedFile(null);
  fchooser.setDialogTitle(title);
  String btnApprove = "Select";
  if (fromPopFile) {
    fchooser.setFileSelectionMode(DIRSANDFILES);
    fchooser.setAcceptAllFileFilterUsed(true);
  } else {
    fchooser.setFileSelectionMode(selectionMode);
    if (mode == FileDialog.SAVE) {
      fchooser.setDialogType(JFileChooser.SAVE_DIALOG);
      btnApprove = "Save";
    }
    if (filters.length == 0) {
      fchooser.setAcceptAllFileFilterUsed(true);
    } else {
      fchooser.setAcceptAllFileFilterUsed(false);
      for (Object filter : filters) {
        fchooser.setFileFilter((FileFilter) filter);
      }
    }
  }
  if (Settings.isMac()) {
    fchooser.putClientProperty("JFileChooser.packageIsTraversable", "always");
  }
  int dialogResponse = fchooser.showDialog(parentFrame, btnApprove);
  if (dialogResponse != JFileChooser.APPROVE_OPTION) {
    fileChoosen = null;
  } else {
    fileChoosen = fchooser.getSelectedFile();
  }
  result[0] = fileChoosen;
  if (filters.length > 0) {
    result[1] = fchooser.getFileFilter();
  }
}
 
源代码3 项目: netbeans   文件: J2SEPlatformCustomizer.java
private static boolean select(
    final PathModel model,
    final File[] currentDir,
    final Component parentComponent) {
    final JFileChooser chooser = new JFileChooser ();
    chooser.setMultiSelectionEnabled (true);
    String title = null;
    String message = null;
    String approveButtonName = null;
    String approveButtonNameMne = null;
    if (model.type == SOURCES) {
        title = NbBundle.getMessage (J2SEPlatformCustomizer.class,"TXT_OpenSources");
        message = NbBundle.getMessage (J2SEPlatformCustomizer.class,"TXT_Sources");
        approveButtonName = NbBundle.getMessage (J2SEPlatformCustomizer.class,"TXT_OpenSources");
        approveButtonNameMne = NbBundle.getMessage (J2SEPlatformCustomizer.class,"MNE_OpenSources");
    } else if (model.type == JAVADOC) {
        title = NbBundle.getMessage (J2SEPlatformCustomizer.class,"TXT_OpenJavadoc");
        message = NbBundle.getMessage (J2SEPlatformCustomizer.class,"TXT_Javadoc");
        approveButtonName = NbBundle.getMessage (J2SEPlatformCustomizer.class,"TXT_OpenJavadoc");
        approveButtonNameMne = NbBundle.getMessage (J2SEPlatformCustomizer.class,"MNE_OpenJavadoc");
    }
    chooser.setDialogTitle(title);
    chooser.setApproveButtonText(approveButtonName);
    chooser.setApproveButtonMnemonic (approveButtonNameMne.charAt(0));
    chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    if (Utilities.isMac()) {
        //New JDKs and JREs are bundled into package, allow JFileChooser to navigate in
        chooser.putClientProperty("JFileChooser.packageIsTraversable", "always");   //NOI18N
    }
    //#61789 on old macosx (jdk 1.4.1) these two method need to be called in this order.
    chooser.setAcceptAllFileFilterUsed( false );
    chooser.setFileFilter (new ArchiveFileFilter(message,new String[] {"ZIP","JAR"}));   //NOI18N
    if (currentDir[0] != null) {
        chooser.setCurrentDirectory(currentDir[0]);
    }
    if (chooser.showOpenDialog(parentComponent) == JFileChooser.APPROVE_OPTION) {
        File[] fs = chooser.getSelectedFiles();
        boolean addingFailed = false;
        for (File f : fs) {
            //XXX: JFileChooser workaround (JDK bug #5075580), double click on folder returns wrong file
            // E.g. for /foo/src it returns /foo/src/src
            // Try to convert it back by removing last invalid name component
            if (!f.exists()) {
                File parent = f.getParentFile();
                if (parent != null && f.getName().equals(parent.getName()) && parent.exists()) {
                    f = parent;
                }
            }
            if (f.exists()) {
                addingFailed|=!model.addPath (f);
            }
        }
        if (addingFailed) {
            new NotifyDescriptor.Message (NbBundle.getMessage(J2SEPlatformCustomizer.class,"TXT_CanNotAddResolve"),
                    NotifyDescriptor.ERROR_MESSAGE);
        }
        currentDir[0] = FileUtil.normalizeFile(chooser.getCurrentDirectory());
        return true;
    }
    return false;
}
 
源代码4 项目: netbeans   文件: ProjectChooserAccessory.java
/** Factory method for project chooser
 */
public static JFileChooser createProjectChooser( boolean defaultAccessory ) {

    ProjectManager.getDefault().clearNonProjectCache(); // #41882

    OpenProjectListSettings opls = OpenProjectListSettings.getInstance();
    JFileChooser chooser = new ProjectFileChooser();
    chooser.setFileSelectionMode( JFileChooser.DIRECTORIES_ONLY );

    if ("GTK".equals(javax.swing.UIManager.getLookAndFeel().getID())) { // NOI18N
        // see BugTraq #5027268
        chooser.putClientProperty("GTKFileChooser.showDirectoryIcons", Boolean.TRUE); // NOI18N
        //chooser.putClientProperty("GTKFileChooser.showFileIcons", Boolean.TRUE); // NOI18N
    }

    chooser.setApproveButtonText( NbBundle.getMessage( ProjectChooserAccessory.class, "BTN_PrjChooser_ApproveButtonText" ) ); // NOI18N
    chooser.setApproveButtonMnemonic( NbBundle.getMessage( ProjectChooserAccessory.class, "MNM_PrjChooser_ApproveButtonText" ).charAt (0) ); // NOI18N
    chooser.setApproveButtonToolTipText (NbBundle.getMessage( ProjectChooserAccessory.class, "BTN_PrjChooser_ApproveButtonTooltipText")); // NOI18N
    // chooser.setMultiSelectionEnabled( true );
    chooser.setDialogTitle( NbBundle.getMessage( ProjectChooserAccessory.class, "LBL_PrjChooser_Title" ) ); // NOI18N
    //#61789 on old macosx (jdk 1.4.1) these two method need to be called in this order.
    chooser.setAcceptAllFileFilterUsed( false );
    chooser.setFileFilter( ProjectDirFilter.INSTANCE );

    // A11Y
    chooser.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(ProjectChooserAccessory.class, "AN_ProjectChooserAccessory"));
    chooser.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(ProjectChooserAccessory.class, "AD_ProjectChooserAccessory"));


    if ( defaultAccessory ) {
        chooser.setAccessory(new ProjectChooserAccessory(chooser, opls.isOpenSubprojects()));
    }

    File currDir = null;
    String dir = opls.getLastOpenProjectDir();
    if ( dir != null ) {
        File d = new File( dir );
        if ( d.exists() && d.isDirectory() ) {
            currDir = d;
        }
    }

    FileUtil.preventFileChooserSymlinkTraversal(chooser, currDir);
    new ProjectFileView(chooser);

    return chooser;

}
 
源代码5 项目: chipster   文件: ImportUtils.java
/**
 * <p>
 * Returns a file chooser that should not trip the bug with Java and Windows
 * XP zip/rar folder feature. Also checks and reports with a modal dialog if
 * there are zips on desktop, as the does not seem to work in all
 * environments. For more information about the bug see e.g. #5050516 at
 * bugs.sun.com.
 * </p>
 * 
 * <p>
 * <strong>You must always use this!</strong>
 * </p>
 * 
 * @return a safe file chooser
 */
public static JFileChooser getFixedFileChooser(File file) {

	JFileChooser fileChooser = file != null ? new JFileChooser(file) : new JFileChooser();
	fileChooser.putClientProperty("FileChooser.useShellFolder", Boolean.FALSE);

	return fileChooser;
}