gpt4 book ai didi

java - 尝试将项目监听器添加到 JCheckBox 对象

转载 作者:行者123 更新时间:2023-12-01 09:45:42 24 4
gpt4 key购买 nike

我正在尝试向复选框添加一个项目监听器,以查看它是否已被选中,如果是,则将其添加到要选择的 SQL 表名称列表中。相反,如果未选择,则将其从列表中删除。我无法将监听器添加到任何复选框,因为“它们不是有效的最终”。我能做什么/有更好的方法来攻击它吗?

我的方法:

public JPanel drawChecks(){

ArrayList<String> list = MainFrame.grabSQLTableNames();
int index = list.size();
int rows = 1;
while(index > 1){
rows++;
index = index - 3;
}

GridLayout c = new GridLayout(rows, 3);
JPanel panel = new JPanel(c);
JCheckBox check[] = new JCheckBox[list.size()];

for(int x = 0; x < list.size(); x++){

check[x] = new JCheckBox(list.get(x));
check[x].setVisible(true);
check[x].addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (check[x].getState == true){

//do something

}
}
});
panel.add(check[x]);
}

最佳答案

使用 ItemEventgetSource 方法获取事件源

public void itemStateChanged(ItemEvent e) {
JCheckBox checkBox = (JCheckBox)e.getSource();
if ( checkBox.isSelected() ){
//do something
}
}

为了便于将来引用,请阅读以下有关发布代码示例以询问有关堆栈溢出问题的提示:https://stackoverflow.com/help/mcve

关于java - 尝试将项目监听器添加到 JCheckBox 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38059639/

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