Filtrar tipos de archivos con JFileChooser

Estoy usando JFileChooser para seleccionar un archivo y estoy tratando de limitar la pantalla para mostrar solo archivos jpg o jpeg. He intentado FileFilter y ChoosableFileFilter y no está limitando la selección de archivos. Aquí está mi código:

JFileChooser chooser = new JFileChooser();
FileFilter filter = new FileNameExtensionFilter("JPEG file", new String[] {"jpg", "jpeg"});
chooser.setFileFilter(filter);
chooser.addChoosableFileFilter(filter);
int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {
  debug.put("You chose to open this file: " + chooser.getSelectedFile().getAbsolutePath());
  File selectedFile = new File(chooser.getSelectedFile().getAbsolutePath());
...
Respuesta 1

Prueba esto:

import javax.swing.JFileChooser;


JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {

   public String getDescription() {
       return "JPG Images (*.jpg)";
   }

   public boolean accept(File f) {
       if (f.isDirectory()) {
           return true;
       } else {
           String filename = f.getName().toLowerCase();
           return filename.endsWith(".jpg") || filename.endsWith(".jpeg") ;
       }
   }
});
Respuesta: 2

Prueba y usa en fileChooser.setFileFilter(filter)lugar de fileChooser.addChoosableFileFilter(filter).

Respuesta: 3

Trate de usar fileChooser.setFileFilter(filter)después fileChooser.addChoosableFileFilter(filter), porque hay que añadir su filtera fileChooser, y luego poner como valor por defecto.

Aquí está el enlace con buen ejemplo: http://www.java2s.com/Code/Java/Swing-JFC/CustomizingaJFileChooser.htm

Respuesta: 4

¿Quiere decir "no está limitando la selección" como en "está permitiendo la opción para cualquier tipo de archivo"? Si es así, entonces inténtalo JFileChooser.setAcceptAllFileFilterUsed(boolean).

chooser.setAcceptAllFileFilterUsed(false);

De acuerdo con la documentación de JFileChooser , debería indicarle que no agregue el filtro de archivos de todos los tipos de archivos a la lista de filtros de archivos.

Respuesta: 5

He creado una animación para un ImageView basado en una RotatedTranstion usando el siguiente código: ImageView icon = ImageCache.getImage ("refresh.png"); RotateTransition rotateTransition = nuevo ...

Noté que el primer comando Hystrix siempre llama a mi reserva, y luego las siguientes llamadas funcionan bien en Spring Cloud Netflix. ¿Hay alguna configuración que deba establecer para evitarla? ¿Por que sucede?

Uso JRuby en mi aplicación Java para permitir a los usuarios ejecutar sus scripts. El conjunto de operaciones necesarias para el funcionamiento normal de la aplicación no es grande. El script debe controlar algunas variables en Java ...

Así que aquí está la cita del libro: el método de anulación NO debe arrojar excepciones marcadas que sean nuevas o más amplias que las declaradas por el método anulado. Por ejemplo, un método que declara ...