包括JList中的List / ArrayList项不起作用

时间:2012-06-22 03:37:46

标签: java swing list arraylist jlist

我今天遇到这个问题,我无法弄清楚如何解决。我知道这可能是我忽略的愚蠢,但已经过了好几个小时...... 所以,

我有我的课程,这扩展了JPanel。在里面我只有一个带有jlist的滚动条。此类接收用于填充JList的List。该列表包含几个“Orcamento”,这是我的一个程序类。该类有一个.toString方法。 我已经尝试使用模型,并使用.toArray直接使用列表创建JList。我已经尝试在ArrayList中转换List并执行相同的操作。我尝试使用DefaultListModel和DefaultListModel。

希望你能帮助我。

这是一些代码: JPanel

package Views;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.swing.DefaultListModel;
import javax.swing.JPanel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import Models.Orcamento;
import javax.swing.ListSelectionModel;
import javax.swing.AbstractListModel;

public class OrcamentoView extends JPanel {

    private JList lista;
    private DefaultListModel modelo;
    /**
     * Create the panel.
     */
    public OrcamentoView(List<Orcamento> lst) {
        setBounds(0, 21, 434, 241);
        setLayout(null);

        ArrayList<Orcamento> orcs= new ArrayList(lst);
        DefaultListModel<String> modelo = new DefaultListModel<String>();
        for(Orcamento o:orcs)
            modelo.addElement(o.toString());
        lista = new JList();
        lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        lista.setModel(modelo);

        JScrollPane scrollPane = new JScrollPane(lista);
        scrollPane.setBounds(10, 11, 414, 219);
        add(scrollPane);
    }
}

完成JPanel之后我做了:

public void setContent(JPanel menu, JPanel content){
        contentPane.removeAll();
    contentPane.add(menu);
        contentPane.add(content);
    contentPane.repaint();
}

将面板添加到我的JFrame。(我一直在做很多其他面板)。

1 个答案:

答案 0 :(得分:2)

你已经忘记了?

add(lista);