2009-06-02 23 views
6

Estoy intentando agregar una barra de desplazamiento a una JList (que usa un modelo de datos personalizado). Agregar un JScrollPane en realidad oculta el JList, en lugar de agregar una barra de desplazamiento. Cuando ejecuto el código con la barra de desplazamiento, la JList no está visible y no puedo ver los datos.Agregar barra de desplazamiento a JList

playlistField = new JList(playlist); // playlist is a data model 
playlistField.setLocation(32, 220-36); 
playlistField.setSize(350,120); 
playlistField.setVisible(true); 
this.add(playlistField); 

listScrollPane = new JScrollPane(playlistField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 

Al comentar el listScrollPane = ... hace que la línea de JList visible de nuevo y funciona como se esperaba.

¿Qué extrañe?

Respuesta

6

Necesita agregar el panel deslizante al contenedor y no a la lista.

En su ejemplo actual, al agregar la lista en el panel de desplazamiento, elimina la lista de su contenedor original, ya que un componente puede tener solo un elemento primario.

Cuestiones relacionadas