gpt4 book ai didi

java - 测试 jComobobox java swing 中的行

转载 作者:行者123 更新时间:2023-11-30 01:33:16 26 4
gpt4 key购买 nike

我有一个组合框,用于显示表列中的数据。

sql表包含2列:name - etat_syn

因此组合框显示名称的数据:

    jComboBox3.removeAllItems();
try{
conn = DriverManager.getConnection("jdbc:mysql://localhost/etat", "root", "123456");
String sql = "SELECT * FROM pop;";
PreparedStatement prest = conn.prepareStatement(sql);
ResultSet res=prest.executeQuery();
while(res.next()){
if(Integer.parseInt(res.getString("etat_syn"))==0){
jComboBox3.addItem(res.getString("name")) ;
}
}
} catch (Exception e) {
System.out.println("ERROR :"+e.getMessage());
}

但我想对与列名称的选定行相对应的“etat_syn”列的索引进行测试
不知道可不可以

最佳答案

你的代码似乎有点困惑。您说您想要根据用户在 JComboBox 中选择的内容执行不同的操作,但您添加的只是 etat_syn 为 0 的行的名称。

  if(Integer.parseInt(res.getString("etat_syn"))==0){
jComboBox3.addItem(res.getString("name")) ;
}

因此,在您的情况下,无论您选择哪个项目,该项目的 etat_syn 值始终为零。

我认为(虽然我猜测,你需要如下所示的东西:

while(res.next()){ 
jComboBox3.addItem(res.getString("name")) ;
jComboBox3.setActionCommand(res.getString("etat_syn"));
}

然后在jComboBox3的 Action 监听器中,你可以这样做:

 jComboBox3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
String actionCommand = actionEvent.getActionCommand();
if("0".equals(actionCommand)) {
//Do this
} else {
//Do something else.
}
}
});

如果您希望在 Button 的操作监听器中进行处理,则可以使用 Map 来存储值,然后将其用于比较。您的代码将更改如下:

Map<String, Integer> itemsMap = new HashMap<String, Integer>(); //Declare this as a member of the class.

while(res.next()){
String name = res.getString("name");
jComboBox3.addItem() ;
int value = Integer.parseInt(res.getString("etat_syn"));
itemsMap.put(name, value);
}

按钮的 Action 监听器如下:

 yourButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
String selectedItem = (String)jComboBox3.getSelectedItem();
int value = itemsMap.get(selectedItem);
if(value == 0) {
//Do this
} else {
//Do something else.
}
}
});

关于java - 测试 jComobobox java swing 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17210488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com