我的问题是我不知道如何使用我的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
答案 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
部分