ruta obtener mkyong examples example directories_only chooser java user-interface jfilechooser

mkyong - jfilechooser java obtener ruta



Alternativa a JFileChooser (5)

Tengo una solicitud para realizar algunos cambios en un pequeño applet que actualmente utiliza un JFileChooser.
Una de las principales quejas es que el selector de archivos es un problema para usar porque se comporta de manera diferente al widget nativo, especialmente para navegar hasta el nivel raíz.

Entonces, sabiendo que y todos los demás problemas que sufre JFileChooser (como el almacenamiento en caché de archivos zip en Windows ...), me preguntaba si existe una alternativa viable en el mundo Java.

Por supuesto, hay SWT que usa el widget nativo, pero aumentar el tamaño del applet en 25 no es realmente una opción. Entonces, ¿hay una mejor implementación java pura de un selector de archivos?


Como dijo @htw, use FileDialog si la apariencia es su principal preocupación. Al usar FileDialog, tenga en cuenta que hay muchos métodos de conveniencia que no podrá usar ...

Utilicé VFSJFileChooser varias veces. No sufre los errores de JFileChooser (se tarda en cargar debido a los archivos zip, solo en Windows), pero la interfaz no es "nativa".


Escribí una wrapper alrededor del selector de archivos de JavaFX si estuviera disponible. Si está incluido en su aplicación, puede reemplazar

JFileChooser fileChooser = new JFileChooser();

con

JFileChooser fileChooser = new NativeJFileChooser();

A continuación, utilizará el selector de archivos nativo (y moderno) de la plataforma subyacente. No todo funciona al 100% igual, así que asegúrate de probarlo después, pero la mayoría de las cosas deberían ir bien.


Sé que esto es un poco tarde, pero puede ayudar a otros usuarios. Puede personalizar la interfaz de usuario de una aplicación para la interfaz de usuario del sistema operativo:

try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) {e.printStackTrace(); }


También puedes probar XFileDialog . No lo he intentado mucho todavía, pero vale la pena evaluar.


El FileDialog AWT realmente usa el componente nativo, pero como con la mayoría de los problemas de AWT vs. Swing, es mucho menos flexible y personalizable que el JFileChooser de Swing. Así que hay una compensación: JFileChooser puede tener una interfaz de usuario torpe, pero generalmente es mejor para la mayoría de los propósitos. Sin embargo, si realmente desea que sus cuadros de diálogo de selección de archivos se vean y se sientan como los nativos, entonces puede FileDialog .