【问题标题】:JList not showing itemsJList不显示项目
【发布时间】:2015-05-19 22:21:11
【问题描述】:

我在显示 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,还是不行。

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

【问题讨论】:

  • 展示如何将JList 添加到容器中(JPanel/JFrame)。
  • “我遇到了一些问题” - 有什么问题?描述它们。
  • 请将您的示例扩展为演示此问题的最小可编译程序。从您的短代码中不清楚问题出在哪里。您也没有准确解释您遇到了什么问题。
  • 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。 (@Duncan 的建议,但带有链接。)

标签: java swing jlist


【解决方案1】:

感谢您的 anwsers 和 cmets。问题是没有显示列表项。

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

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

初学者请见谅。

【讨论】:

    【解决方案2】:

    这对我有用:

    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;
        }
    }
    

    【讨论】:

    • 对我投反对票。我们只得到了一小段代码。将其放入整个程序并证明它在您的上下文中 对 OP 没有真正的帮助。让我们找出他的应用程序中发生了什么,然后帮助他修复它。
    猜你喜欢
    • 2012-11-30
    • 1970-01-01
    • 2012-01-19
    • 2021-04-10
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 2015-02-07
    相关资源
    最近更新 更多