【问题标题】:including List/ArrayList items in JList doesn't work在 JList 中包含 List/ArrayList 项不起作用
【发布时间】:2012-06-24 09:03:53
【问题描述】:

我今天遇到了这个问题,我不知道如何解决。我知道这可能是我忽略的一些愚蠢的事情,但已经有几个小时了...... 所以,

我有我的课程,它扩展了 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。(我一直在使用许多其他面板)。

【问题讨论】:

    标签: java swing list arraylist jlist


    【解决方案1】:

    你忘了?

    add(lista);
    

    【讨论】:

    • 不是在“JScrollPane scrollPane = new JScrollPane(lista);”中隐含吗?
    • 像这样... JScrollPane sp = new JScrollPane(); sp.getViewport().setView(lista); sp.setPreferredSize(new Dimension(200, 80));
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2016-02-17
    • 1970-01-01
    相关资源
    最近更新 更多