您好我有一个ArrayList,其中catalogo是我的类。我会填充这些arraylist的JList,但我不能......你能帮助我吗?
这里有你的代码:
public class YouIng {
private List<Catalogo> listaCatalogo = new ArrayList<Catalogo>();
public YouIng(){
Catalogo premium = new Catalogo();
Catalogo standard = new Catalogo();
listaCatalogo.add(premium);
listaCatalogo.add(standard);
}
public List<Catalogo> getCatalogo(){
return listaCatalogo;
}
我使用名为YouIngFrame的GUI类来使用我的程序。当我点击loginButton时,它会显示一个应该从listaCatalogo填充的JList,但它不是。
这里有YouIngFrame类:
private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {
card.show(mainPanel, "homePanel");
welcomeLabel.setText("Benvenuto: " +usernameField.getText().toString());
for(int i=0; i<youing.getCatalogo().size(); i++){
jList.add(youing.getCatalogo().get(i));
}
}
希望这会对你有所帮助
编辑:
这是我的Catalogo.java:
public class Catalogo {
public Catalogo(){
Categoria commedia = new Categoria();
Categoria fantasy = new Categoria();
listaCategoria.add(commedia);
listaCategoria.add(fantasy);
}
private List<Categoria> listaCategoria = new ArrayList<Categoria>();
public List<Video> CercaVideo(String ParolaChiave) {
return null;
}
public Video Search(String IDvideo, Categoria cat) {
return null;
}
public List<Categoria> getCategorie() {
return listaCategoria;
}
public Categoria aggiungiVideo(Video usr_video, int categoriaScelta) {
return null;
}
}
答案 0 :(得分:2)
DefaultListModel dlm = new DefaultListModel();
for(Catalogo p : listaCatalogo ){
dlm.addElement(p.toString());
}
JList jList = new JList(dlm);
现在你改变了你的方法签名。所以这是根据你的新方法的解决方案:
private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {
card.show(mainPanel, "homePanel");
welcomeLabel.setText("Benvenuto: " +usernameField.getText().toString());
DefaultListModel<String> dlm = new DefaultListModel<String>();
for(Catalogo p : youing.getCatalogo() ){
dlm.addElement(p.toString());
}
JList<String> jList = new JList<String>(dlm);
System.out.println(jList.getModel().toString()); //TO TEST if Jlist successfully added catalogo
}
并且不要忘记您必须覆盖类toString()
中的YouIng
方法。