Quero inserir elementos numa JList e primeiro gostava de saber se é assim que tenho de transformar a minha HashMap de forma a ficar com os elementos organizados para inserir na JList
public class Biblioteca;
HashMap mapItemMultimediaCD = new HashMap();
Collection collectCD = mapItemMultimediaCD.keySet();
ArrayList listaCD = new ArrayList();
Iterator itCD = collectCD.iterator();
public ArrayList getCds(){
while(itCD.hasNext()){
Object elem = itCD;
listaCD.add(((Cd)elem).getArtista() + ((Cd)elem).getTitulo());
}
return listaCD;
}
Desta forma espero passar o conteúdo de listaCD para uma JList (chama-se JList2 )que está implementada numa JFrame chamada
public class Interface;
gostaria de usar o JList2.setListData();
A minha class interface:
public Interface() {
initComponents();
DefaultListModel modelListCds = new DefaultListModel();
jList2.setModel(modelListCds);
jList2.getModel().addListDataListener(new ListDataListener() {
public void contentsChanged(ListDataEvent e) {
System.out.println(jList2.getSelectedValue().toString());
}
public void intervalAdded(ListDataEvent e) {
}
public void intervalRemoved(ListDataEvent e) {
}
});
jList2.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
if ("Cds".equals(jList2.getSelectedValue().toString())) {
setCdsToJList();
}
}
}
});
}
public void setCdsToJList() {
jList2.setModel(new DefaultListModel());
DefaultListModel modelList = new DefaultListModel();
ArrayList tmpArtistas = bib2.getCds();
for (int i = 0; i < tmpArtistas.size(); i ++) {
modelList.addElement(tmpArtistas.get(i));
}
jList2.setModel(modelList);
}
Obrigado pela ajuda, abraço.