我的问题是我不知道如何使用我的 derby 数据库中的一些数据创建列表(来自 NetBeans 的 Jlist)
例如:
我有一个表单,保存来自“客户”的 ID、姓名、电话和电子邮件,我想在列表中显示我以前注册的客户的所有姓名,问题是我需要转换 varchar数据到列表模型中。我怎样才能做到这一点?我尝试了这个,但没有成功:
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());
}
}
谢谢@peeskillet
最佳答案
"It says that "couldant find symbol" for .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 部分
关于java - 从数据库 varchar 数据创建列表 - NetBeans + Derby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23050743/