Alternative à JFileChooser

j'ai une requête pour faire quelques changements à une petite applet qui utilise actuellement un JFileChooser.

Une des principales plaintes est que le chooser de fichier est une douleur dans le cul à utiliser parce qu'il se comporte différemment que le widget natif, en particulier pour la navigation jusqu'au niveau de la racine.

Donc, sachant cela et toutes les autres question JFileChooser souffrir (comme le fichier zip de la mise en cache sur windows...), Je me demandais s'il existait une alternative viable dans le monde java.

bien sûr, il y a SWT qui utilise le widget natif, mais augmenter la taille de l'applet de 25 n'est pas vraiment une option. Alors, y a-t-il une meilleure implémentation java pure d'un chooser de fichiers?

19
demandé sur gizmo 2009-04-17 11:32:15

5 réponses

vous pouvez aussi essayer XFileDialog. N'ai pas essayé encore beaucoup, mais semble intéressant d'évaluer.

5
répondu Touko 2010-02-10 08:05:33

The AWT FileDialog utilise en fait le composant natif, mais comme pour la plupart des problèmes AWT vs. Swing, il est beaucoup moins flexible et personnalisable que Swing JFileChooser. Il y a donc un compromis à trouver: JFileChooser peut avoir une interface utilisateur pointue, mais c'est généralement mieux pour la plupart des buts. Si vous voulez vraiment que votre fichier choisisse des dialogues qui ressemblent aux natifs, alors vous pouvez choisir FileDialog.

12
répondu hbw 2009-04-17 08:15:06

je sais que c'est un peu tard, mais il peut aider d'autres utilisateurs. Vous pouvez personnaliser l'INTERFACE utilisateur d'une application à l'INTERFACE utilisateur de l'OS:

try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {e.printStackTrace();     }
6
répondu chama 2010-03-02 05:29:04

j'ai écrit un wrapper autour du chooser de fichier de JavaFX si disponible. Si inclus dans votre application, vous pouvez remplacer

JFileChooser fileChooser = new JFileChooser();

JFileChooser fileChooser = new NativeJFileChooser();

il utilisera alors le chooser de fichiers natif (et moderne) de la plate-forme sous-jacente. Tout ne fonctionne pas à 100% de la même façon, alors assurez-vous de le tester après, mais la plupart des choses devraient se passer en douceur.

2
répondu Veluria 2017-06-13 09:20:37

@htw dit utiliser FileDialog si le look et la sensation est votre principale préoccupation. À l'aide de FileDialog soyez conscient qu'il y a beaucoup de méthodes pratiques que vous ne pourrez pas utiliser...

j'ai utilisé VFSJFileChooser peu de temps. Il ne souffre pas des bugs de JFileChooser(lent à charger à cause des fichiers zip, windows seulement), mais l'interface n'est pas "native".

0
répondu 2009-04-17 12:49:41