2015-06-28 90 views
0

由于某些未知原因,我无法将项目添加到我的JList中。有两类我正在努力工作。有:A类& B类。如何在JList中添加项目?

在A类里面,我有一个叫做“Add”的按钮。如果我点击这个Add按钮,它应该将项目添加到Class B上的JList中.JList的变量被称为“jAddList”。

所以我在A级那样:

Public class A extends javax.swing.JFrame{ 

    public B addItem; 
    private final B JListFrame = new B(); 

    private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt) {            
     JListFrame.setVisible(true); 

     DefaultListModel modelAddList = new DefaultListModel(); 
     for(int i=0;i<20;i++){ 
       modelAddList.addElement(i); 
     } 

     addItem.jAddList.add(modelCmdList); 

     } 
} 

但是,它不工作。编译器软件(Netbean)抛出我警告:

输出:

no suitable method found for add(DefaultListModel) 
    method Component.add(PopupMenu) is not applicable 
     (argument mismatch; DefaultModel cannot be converted to PopupMenu) 
    method Container.add(Component) is not applicable 
     (argument mismatch; DefaultModel cannot be converted to Component) 

谢谢!

+0

操纵命名的变量等一类是真混乱,你应该改变这一点。 –

+0

对不起,罗宾。下次我会知道的。 –

回答

0

使用setModel设置模式为JList部件

jAddList.setModel(listModel); 

单个模型可以在启动时被设置为稍后

JList<Integer> jAddList = new JList<>(listModel); 
+0

感谢Reimeus。这确实解决了我的问题。代码可以运行,但它仍然不能显示输出。你发现我的代码有任何错误吗?我确实已将我的代码更改为“public B addItem;”更改为“public B addItem = new B();”JList只是一个没有任何项目的空列表。那不应该......某处必须出错。 –

+1

发布[MCVE](http://stackoverflow.com/help/mcve) – Reimeus