2011-08-17 10 views
5

Usando un JFileChooser, puedo seleccionar un directorio haciendo doble clic en el directorio (bajando un nivel) con el mouse. ¿Hay alguna manera de seleccionar un directorio sin el mouse? Por ejemplo, ¿hay un enlace de clave para bajar un nivel de directorio o tengo que agregar de alguna manera un oyente de clave al JFileChooser?¿Hay alguna manera de expandir un directorio JFileChooser sin un mouse?

+0

No estoy seguro de lo que sería la ventaja? Si inicia la aplicación webstart [aquí] (http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html), notará que puede navegar al panel con los directorios/archivos usando "tab", y luego navegue por los directorios/archivos usando las "flechas", y luego presione "enter" para bajar un nivel. – mre

Respuesta

1

¿Has probado la barra espaciadora o la tecla Intro?

2

Debería poder usar la pestaña para moverse entre las diferentes partes del selector, y luego usar las teclas de flecha para cambiar qué directorio está resaltado, y luego presionar Enter para cambiar el directorio al resaltado.

He probado el siguiente código de ejemplo en mi máquina (Vista/JDK 1.6) y funciona como me esperaba:

import javax.swing.*; 
public class test { 
    public static void main(String[] args) { 
     (new JFileChooser("")).showOpenDialog(new JFrame()); 
     System.out.println("OK!"); 
    } 
} 

Si el proyecto no responde similarmente en su JFileChooser, me depurar como sigue:

  1. Crea test.java con solo el código necesario para mostrar un selector.
  2. Si la aplicación de prueba es diferente a la de su aplicación, algo en su código hace que falle, como el código de apariencia de la interfaz de usuario, oyentes de teclado, etc. Modifique el ejemplo, un cambio a la vez para replicar más de cerca su configuración. elija en su aplicación y vea si puede identificar dónde se rompe.
  3. Si incluso una aplicación de prueba básica no funciona bien, es probable que sea algo sobre su configuración, como un error en su versión JDK, su sistema operativo, etc. Solucione problemas de configuración.
+0

He intentado con la barra espaciadora y la tecla Intro, pero ninguno de los dos funciona. Pero ayuda saber que debería funcionar con la barra de entrada/espacio porque ahora puedo concentrarme en descubrir por qué no funciona. – splatek

+0

¿Qué versión de java estás usando? ¿Es reciente? Algunas versiones anteriores tienen errores en jfilechooser ui (p. Ej., Consulte: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4922507). Editaré mi respuesta para explicar mejor. –

+0

Estoy usando com.incors.plaf.alloy.AlloyLookAndFeel; cuando cambio a com.sun.java.swing.plaf.windows.WindowsLookAndFeel funciona. Supongo que AlloyLookAndFeel está teniendo problemas con jFileChooser. – splatek

0

Pruebe usar ctrl + tecla enter para seleccionar el directorio. Este comportamiento se sucedió cuando se establece el modo de selección de archivos JFileChooser a “archivos y direcories”:

JFileChooser fileBrowser = new JFileChooser(); 
fileBrowser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
Cuestiones relacionadas