addActionListener(new ActionListener() {})与addActionListener(this)有什么区别?

如题,用法上有什么需要注意的地方?... 如题,用法上有什么需要注意的地方? 展开
 我来答
flyingFish211
2012-04-05 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
addActionListener(new ActionListener() {}) 这样括号里面必须实现ActionListern这个接口,编译的时候你会看到会生成$ActionsListern.class得。这个从代码风格上不怎么好看,而且不可以反复利用

addActionListener(this)是说你类本身必须实现ActionListern接口才可以这样写,编译的时候不会生成那个$Act...class

一般能写第二种就用第二种
追问
不好意思我是新手,那我用插件直接建立组件之后会每个button都带一个addActionListener(new ActionListener() {},我怎么才能把他们放在一起实现呢?或者说就不用合在一起,单个方法实现就可以?
追答
给你部分计算器的代码,你琢磨下
class NumMouseListener implements MouseListener{

public void mouseClicked(MouseEvent e) {
String num = ((Button)e.getSource()).getLabel().trim();
if(ary[1] == null){
ary[0] = ary[0] + "" + num;
}else{
ary[2] = ary[2] + "" + num;
}

tf.setText(tf.getText() + "" + num);
}

public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}

}

one.addMouseListener(new NumMouseListener());
two.addMouseListener(new NumMouseListener());
three.addMouseListener(new NumMouseListener());
four.addMouseListener(new NumMouseListener());
five.addMouseListener(new NumMouseListener());
six.addMouseListener(new NumMouseListener());
seven.addMouseListener(new NumMouseListener());
eight.addMouseListener(new NumMouseListener());
nine.addMouseListener(new NumMouseListener());
zero.addMouseListener(new NumMouseListener());
名片
2024-10-28 广告
作为优菁科技(上海)有限公司的一员,Altair HyperWorks是我们重点代理的CAE软件套件。该软件以其全面的仿真能力、丰富的建模工具和高效的优化设计功能著称,广泛应用于汽车、航空航天、能源及电子等行业。HyperWorks通过集成... 点击进入详情页
本回答由名片提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式