【发布时间】:2016-12-09 22:24:13
【问题描述】:
如何将这个ActionListener 变成特定JButton 的方法?
(我知道它可以把它全部扔到一个方法中,但是是的..hm。)
myJButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
//do stuff
}
});
谢谢你们,
编辑:感谢大家的快速回复,我的解释不是很清楚。
我研究了 lambdas 的使用,这几乎就是我的想法,尽管其他方法也很高兴知道。
myButton.addActionListener(e -> myButtonMethod());
public void myButtonMethod() {
// code
}
再次感谢大家。
下次我会尝试更清楚和更快。
【问题讨论】:
-
“把它变成一种方法”是什么意思?请尽可能具体和清楚。例如,你已经有了一个方法——
actionPerformed(...) -
创建一个方法,添加一个带委托的常规动作监听器,并从中调用你的方法。
-
有了 lamda 或方法引用,它变得更加简洁:
myButton.addActionListener(e -> doSomething()),或myButton.addActionListener(this::doSomethingWithEvent) -
因为我不在
main中工作,所以我无法在没有方法的情况下将它扔到一个类中,我试图弄清楚如何从上面列出的代码中创建一个方法,而不是仅仅把它扔到一个方法中——如果可能的话。 -
也许是我,但我仍然不清楚您要做什么。而且,这种澄清太重要了,不能在 cmets 中发布。请编辑您的问题,更详细地描述,在代码中显示您正在尝试做什么以及您如何不成功。例如,为什么不按照@JBNizet 的建议去做呢?或者为什么不在上面的 actionPerformed 方法中调用方法?你被困在哪里了?你受什么限制?
标签: java swing methods actionlistener