2009-06-02 14 views
6

Sto tentando di aggiungere una barra di scorrimento a una JList (che utilizza un modello di dati personalizzato). Aggiungendo una JScrollPane in realtà nasconde la JList, invece di aggiungere una barra di scorrimento. Quando eseguo il codice con la barra di scorrimento, JList non è visibile e non riesco a visualizzare i dati.Aggiunta barra di scorrimento 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); 

Commentando la listScrollPane = ... linea rende il JList nuovamente visibile e funziona come previsto.

Cosa mi sono perso?

risposta

6

È necessario aggiungere lo scrollpane al contenitore e non all'elenco.

Nell'esempio corrente, aggiungendo l'elenco nello scrollpane, rimuove l'elenco dal suo contenitore originale, poiché un componente può avere solo un genitore.