我在程序中有两个选择列表,我已将ItemListener添加到两个列表中。 如何知道用户在itemStateChanged(ItemEvent ie)中选择了哪个列表?
是否存在任何方法来识别ItemListener的事件源,因为ActionListener中有getSource()。
答案 0 :(得分:3)
在itemStateChanged(ItemEvent ie)
中,您获得ItemEvent
。
查看ItemEvent API
您有getItemSelectable()
方法:
public ItemSelectable getItemSelectable()
返回事件的发起者。
使用它。
答案 1 :(得分:3)
如何知道用户选择了哪个列表
int main() {
printf("\ntype in resistance\n");
scanf("%lf",&resistance);
printf("\ntype in current");
scanf("%lf",¤t);
//voltage = resistance*resistance*current;
printf("\n%f Volts",resistance*resistance*current);
// return voltage;
}
将返回对生成事件的对象的引用。
如果您仔细阅读JavaDocs,则会看到ItemEvent#getSource
和ItemEvent
都来自同一个基地ActionEvent
,EventObject
实际上已经定义了