2012-05-24 18 views
12

Me preguntaba: ¿cómo usa Gmail el selector de archivos de Windows/Mac para cargar archivos? ¿Hay alguna manera de hacer esto en Java?Cómo usar el selector de archivos predeterminado para el sistema operativo? java

enter image description here

Personalmente, no me gusta la forma en que el JFileChooser parece, y pensé que sería mejor para mis usuarios puedan usar algo que están más acostumbrados a. Consejos a alguien?

+1

Eche un vistazo a AWT [FileDialog] (http://docs.oracle.com/javase/7/docs/api/java/awt/FileDialog.html) – Jeffrey

Respuesta

15

Usar la edad java.awt.FileDialog lugar:

new java.awt.FileDialog((java.awt.Frame) null).setVisible(true); 
+0

¡Gracias! ¡Usaré esto! Nunca pensé en los componentes de 'java.awt. *'. – mattbdean

+0

Bueno, solíamos pensar en ellos mucho en el día, antes de que existiera el swing. :) –

+4

Aunque esta respuesta es bastante antigua: no recomendaría usar el diálogo de archivo Awt. Está roto en Linux y Mac, y Oracle no va a arreglarlo más. Entonces, a menos que solo esté apuntando a usuarios de Windows, esta no es una buena idea. Además, 'JFileChooser' con aspecto nativo se ve casi idénticamente en Windows. – Veluria

4

Gmail es una aplicación web que con el tiempo se basa en el navegador para mostrar este componente. Ahora, una buena solución es utilizar el nativo Look & sensación del sistema que proporcione un JFileChooser bastante similar a lo que muestran:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 

enter image description here

EDIT: La solución de Pulsar es aún mejor, ya que proporciona la exacta diálogo que está buscando. No estoy seguro de que proporcione todas las características de JFileChooser.

7

Usted puede intentar usar JFileChooser pero establecer la apariencia de ser la plataforma de mirada y sentir:

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

Y que haría que todos los componentes Swing se ven más bonitas!

Cuestiones relacionadas