【问题标题】:combobox error at compile time编译时组合框错误
【发布时间】:2013-07-27 08:02:02
【问题描述】:

我希望组合框在运行时存储数据库中的名称,所以我创建了一个列表,但组合框显示错误...

        List<String> s = new ArrayList<String>();
        {
            try
            {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                Connection con =DriverManager.getConnection("jdbc:odbc:project","sa","123456");
                Statement stmt= con.createStatement();
                ResultSet rs=stmt.executeQuery("SELECT Name FROM company");
                i=0;
                while(rs.next()) {
                    s.add(rs.getString("Name"));
                }
            }
            catch(Exception ex) {             {
                JOptionPane.showConfirmDialog(f,ex);
            }
            cb=new JComboBox(s);
        }

【问题讨论】:

  • “正在显示错误”是永远不够的信息。请阅读tinyurl.com/so-list
  • 30 秒阅读 JavaDocs 至少会告诉你为什么会出错
  • @JonSkeet 是的,你是对的,但我看到了他的个人资料,他还没有接受任何答案,尽管他们很有帮助!

标签: java swing arraylist jcombobox comboboxmodel


【解决方案1】:

可能的问题是您将 List&lt;String&gt; 引用传递给 JComboBox 。一种正确的方法是将List&lt;String&gt; s 转换为String[] 数组并将其传递给constructor: JComboBox(E[] items)

 new JComboBox(s.toArray(new String[s.size()]));

另请阅读How to Use Combo Boxes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 2018-11-08
    • 2012-01-20
    • 2016-11-26
    • 2023-03-20
    相关资源
    最近更新 更多