java - JComboBox 人口
问题描述
嘿,我正在使用 Netbeans 拖放图形组件。您知道有组件会自动初始化,现在我正在使用以下功能
private void idCBAdder() throws SQLException { //Adds name in Name/Id ComboBox
sql=new SqlLinking();
ArrayList<String> namesList=sql.getNamesList();
String[] names= namesList.toArray(new String[namesList.size()]);
nameCB=new JComboBox(names);
}
我从使用此函数的上一个类中获得了 namesList
public ArrayList<String> getNamesList() throws SQLException {
ArrayList<String> names = new ArrayList<String>();
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//Connection establishment
con = DriverManager.getConnection("jdbc:sqlserver://DESKTOP-CU5U75J\\SQLSERVER1;databaseName=GroceryWithJava", "Fateh", "Fateh");
//Statement Object
st = con.createStatement();
result = st.executeQuery("SELECT Name FROM ProductTB");
while (result.next()) {
names.add(result.getString("Name"));
}
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, ex.getCause(),"Error",JOptionPane.ERROR_MESSAGE);
}
return names;
}
但在这样做之后,我发现我的 JComboBox 没有空,那里没有任何项目。实际上我正在修改产品,添加和删除,所以我需要在每次操作后更新它,这就是我创建一个方法并且我想在每次操作后执行它的原因。
如果我使用以下代码
private void idCBAdder() throws SQLException { //Adds name in Name/Id ComboBox
sql=new SqlLinking();
ArrayList<String> namesList=sql.getNamesList();
for(int i=0;i<namesList.size();i++){
nameCB.addItem(namesList.get(i));
}}
我更新了一个产品名称,它与上述所有产品重复,并通过在 JComboBox 中增加它来添加一个产品列表。
解决方案
推荐阅读
- neural-network - 对象检测的可能回归损失
- symfony - 我不能有超过 2 个 vichuploader 映射 | symfony 3.4
- python - 使用 Python 和 Pandas 将 Excel 工作表拆分为单独的工作表
- python - Pydantic:根据其他字段的值在验证器中设置字段 None
- angular - 具有 Spring Boot 安全性和 Keycloak 的 Angular 前端
- node.js - 如何读取每一行并插入数据库以及删除不需要的空格以及多个逗号
- ios - 如何解析两个 XML 标签之间的所有 XML 标签及其内容?TBXML
- android - 带有 edittext 和 textwatcher 侦听器的 ExpandListview。Textwatcher 触发多次
- c# - zkemsdk sdk 在特定时间解锁门
- php - 在命令中使用控制器作为服务