从DB varchar数据创建列表 - NetBeans + Derby

时间:2014-04-14 01:51:03

标签: java swing netbeans derby jlist

我的问题是我不知道如何使用我的derby db中的一些数据制作一个列表(来自NetBeans的Jlist)

EX:

我有一个表单,用于保存来自“客户端”的ID,名称,电话和电子邮件,我想在列表中显示我之前注册的客户端的所有名称,问题是我需要转换varchar将数据转换为listmodel。我怎样才能做到这一点?我尝试了这个,但没有用:

    while (rs.next()){
        int id_col = rs.getInt("clientID");
        String name = rs.getString("clientName");

        client_listClients.setText(name);       
    }

它表示“找不到符号”.setText

使用DefaultListModel

编辑

工作结果!

public void DoConnect( ) {

    DefaultListModel model = new DefaultListModel();
    client_listClients.setModel(model);

    try {
        String host = "jdbc:derby://localhost:1527/ANAIA_DB";
        String uName = "*****";    
        String uPass = "*****";
        con = DriverManager.getConnection(host, uName, uPass);

        stmt = con.createStatement();
        String sql = "SELECT * FROM APP.CLIENT";
        rs = stmt.executeQuery(sql);


        while (rs.next()){

            int id_col = rs.getInt("clientID");       
            String name = rs.getString("clientName");
            model.addElement(name);
        }
    } catch (SQLException err) {
        JOptionPane.showMessageDialog(main.this, err.getMessage());
    }
}

Thx aloooot @peeskillet

1 个答案:

答案 0 :(得分:0)

  

“它说”找不到符号“.setText”

JList 没有方法setText()。如有疑问,请阅读docs

相反,您需要使用ListModel。如果您不想创建自己的,可以使用提供的DefaultListModel实现。你有方法addElement

首先需要使用模型声明您的列表。

DefaultListModel model = new DefaultListModel();
JList client_listClients = new JList(model);

然后您可以使用方法addElement,它将在完成所有添加后自动更新UI。无需对列表进行任何操作。

while (rs.next()){

    String name = rs.getString("clientName");
    model.addElement(name);

}

您可以在How to use Lists看到更多内容,并专注于Creating a Model

部分