JList 不显示项目

JList not showing items

我在显示 JList 的项目时遇到一些问题。

DefaultListModel<String> model = new DefaultListModel<String>();
model.addElement("one");
model.addElement("two");
model.addElement("three");

list = new JList<String>(model);
list.setCellRenderer(new DefaultListCellRenderer());
list.setVisible(true);

我也试过不设置ListCellRenderer,还是不行。

你能告诉我我做错了什么吗?

这对我有用:

public class JListTest implements Runnable {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new JListTest());
    }

    @Override
    public void run() {
        JFrame frame = new JFrame(getClass().getSimpleName());
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setSize(640, 480);
        frame.setLayout(new BorderLayout(4, 4));
        frame.add(getComponent(), BorderLayout.CENTER);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    Component getComponent() {
        DefaultListModel<String> model = new DefaultListModel<>();
        model.addElement("one");
        model.addElement("two");
        model.addElement("three");

        JList<String> list = new JList<>(model);
        list.setCellRenderer(new DefaultListCellRenderer());
        list.setVisible(true);
        return list;
    }
}

感谢您的回答和评论。问题是没有显示列表项。

以后我会添加一个最小的可编译程序。

我的问题是由于试图在构造函数中将 JPanel 添加到 JDialog 引起的,但是此时 JPanelnull 因为它已被初始化在 createUIComponents 方法中。

初学者请见谅