Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: moleroalex en 23 Noviembre 2013, 20:19 pm



Título: Como añadir elementos a un JList (Java)
Publicado por: moleroalex en 23 Noviembre 2013, 20:19 pm
Hola

Estoy desarrollando un reproductor de mp3 y me ha surgido una pequeña duda. En la ventana principal he añadido un JList (Con su JScrollPanel) y en ese JList quiero que, cuando seleccione un archivo/carpeta, ese elemento se guarde ahí para poder ser utilizado mas adelante, en mi caso, ser reproducido.

Tengo métodos para seleccionar archivos y carpetas con el JFileChooser pero el salto de pasarlo todo eso al JList me esta costando un poco. Alguna idea de como se añadiría?

Adjunto el código para seleccionar un archivo con el JFileChooser por si hay alguna duda:

JFileChooser selectorArchivo = new JFileChooser();
selectorArchivo.setFileSelectionMode(JFileChooser.FILES_ONLY);
javax.swing.filechooser.FileFilter filtro = new FileNameExtensionFilter("",".mp3");
selectorArchivo.setFileFilter(filtro);
selectorArchivo.setFileHidingEnabled(true);
selectorArchivo.showOpenDialog(null);

Gracias por vuestra ayuda!


Título: Re: Como añadir elementos a un JList (Java)
Publicado por: Mitsu en 24 Noviembre 2013, 17:21 pm
Código
  1. JFileChooser chooser = new JFileChooser();
  2. javax.swing.filechooser.FileFilter filtro = new FileNameExtensionFilter("",".mp3");
  3. chooser.setFileFilter(filtro);
  4.  
  5. int returnVal = chooser.showOpenDialog(null);
  6. if(returnVal == JFileChooser.APPROVE_OPTION) {
  7.  
  8. // crea un modelo de lista
  9. JList list = new JList(model);
  10. int pos = list.getModel().getSize();
  11. // agrega el mp3 al modelo
  12. model.add(pos, chooser.getSelectedFile());
  13. }
  14.  

Igual mira Java Media Framework, te simplifica el trabajo mucho, es sencillo de manejar.


Título: Re: Como añadir elementos a un JList (Java)
Publicado por: moleroalex en 24 Noviembre 2013, 19:22 pm
Había oído algo sobre el Java Media Framework pero no se realmente que es... Volviendo a mi código, al aplicar lo que me has comentado, la JList sigue vacia... He puesto una ultima linea final en la que la consola reciba eso que deberia guardarse en el JList y al ejecutar y seleccionar una cancion aparace "null"

Adjunto el codigo:

public void actionPerformed(ActionEvent arg0) {

         JFileChooser selectorArchivo = new JFileChooser();
         selectorArchivo.setFileSelectionMode(JFileChooser.FILES_ONLY);
         javax.swing.filechooser.FileFilter filtro = new   FileNameExtensionFilter("",".mp3");

         selectorArchivo.setFileFilter(filtro);
         
         int returnVal = selectorArchivo.showOpenDialog(null);
         if(returnVal == JFileChooser.APPROVE_OPTION)
         {
            DefaultListModel agregarArchivo = new DefaultListModel();
            JList panelCanciones = new JList(agregarArchivo);
            int pos = panelCanciones.getModel().getSize();
            agregarArchivo.add(pos, selectorArchivo.getSelectedFile());
            
            System.out.println(selectorArchivo.getName());
         }