JAVA中有关JRadioButton绑定监听事件,代码如下
{……JRadioButtonbutton=newJRadioButton();button.addItemListener(this);……}publicvoidite...
{
……
JRadioButton button=new JRadioButton();
button.addItemListener(this);
……
}
public void itemStateChanged(ItemEvent e){
……
}
疑问
1:第二行中的this关键字这里的用法看不懂,谁能解释一下(this的用法一直稀里糊涂的)
2.addItemStateChanged和addActionListener两者用法上有什么异同点么,求高人指点 展开
……
JRadioButton button=new JRadioButton();
button.addItemListener(this);
……
}
public void itemStateChanged(ItemEvent e){
……
}
疑问
1:第二行中的this关键字这里的用法看不懂,谁能解释一下(this的用法一直稀里糊涂的)
2.addItemStateChanged和addActionListener两者用法上有什么异同点么,求高人指点 展开
2个回答
展开全部
1、this代表本类,就是this所在的类。
2、
addItemStateChanged是为了监听ItemEvent的,而ItemEvent是指示项被选定或取消选定的语义事件,此高级事件是在用户已选定项或取消选定项时由 ItemSelectable 对象(如 List)生成的。
addActionListener是为了监听ActionEvent的,而ActionEvent是指示发生了组件定义的动作的语义事件,当特定于组件的动作(比如被按下)发生时,由组件(比如 Button)生成此高级别事件。
2、
addItemStateChanged是为了监听ItemEvent的,而ItemEvent是指示项被选定或取消选定的语义事件,此高级事件是在用户已选定项或取消选定项时由 ItemSelectable 对象(如 List)生成的。
addActionListener是为了监听ActionEvent的,而ActionEvent是指示发生了组件定义的动作的语义事件,当特定于组件的动作(比如被按下)发生时,由组件(比如 Button)生成此高级别事件。
追问
button.addItemListener(this);这句用this作为参数,它是如何调用itemStateChanged这个方法的啊,印象中要调用某个方法都是通过方法名+参数进行的,这里用个this有点搞不明白,能将详细点么
追答
button.addItemListener(this);不是调用itemStateChanged这个方法,而是监听this这个类,也就是本类,你的这个类实现了ItemListener这个接口吧,ItemListener接口中就有itemStateChanged这个方法,当你触发了ItemEvent事件的时候,itemStateChanged这个方法就被调用,不然就不调用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询