标题:e.getSource()和isSelected()的区别?
只看楼主
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
 问题点数:0 回复次数:4 
e.getSource()和isSelected()的区别?
//处理MenuItem的事件
private class ItemHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
//处理颜色
for(int count=0;count<colorItems.length;count++){
if(colorItems[count].isSelected()){
displayLabel.setForeground(colorValues[count]);
break;
}
}
//处理字体
for(int count=0;count<fonts.length;count++){
if(e.getSource()==fonts[count]){
displayLabel.setFont(new Font(fonts[count].getText(),style,72));
break;
}
repaint();
}
}
}
不知道画红线处的区别,望高手指点?各是什么意思?谢谢!
有谁能帮忙吗?

[此贴子已经被作者于2007-4-17 19:41:49编辑过]

搜索更多相关主题的帖子: getSource isSelected count int colorItems 
2007-04-17 19:25
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
得分:0 
e.getSource()表示获得事件的对象源
colorItems[count].isSelected()表示你所选的
2007-04-17 22:59
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
e.getSource()只能返回刚才发生事件的是哪个组件,至于那个组件是选中还是没有选中,这是管不了的
因为当你从选中到不选中,还有从不选中到选中的过程,都会生成ActionEvent
但是xxx.isSelected()只是在此选项选中的情况下,才会返回true

这就是区别

可惜不是你,陪我到最后
2007-04-18 09:14
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
得分:0 
先谢谢了,不过上面画红线处好像(e.getSource()==fonts[count])可以用colorItems[count].isSelected())来代替吧???


在不断的拼搏与进取中,定能创造一片天地!
2007-04-18 22:50
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
不可以

如果是e.getSource()==fonts[count],则当它选中和取消选中的时候,都会执行

而如果colorItems[count].isSelected(),则只有它选中的时候才会执行

可惜不是你,陪我到最后
2007-04-19 09:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-132669-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.186525 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved