The*_*imp 4 java swing actionlistener
我是Swing的新手,需要一些动作听众的帮助.我看过它们像这个例子一样使用:
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Do something
}
});
Run Code Online (Sandbox Code Playgroud)
但是我想做更像这样的事情:
button.addActionListener(myFunc);
public void myFunc(ActionEvent e)
{
// Do something
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?
这里有两种可能的方法 - 您可以直接从您给出的第一个示例中调用myFunc方法:
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
myFunc(e);
}
});
Run Code Online (Sandbox Code Playgroud)
...或者您可以定义一个实现actionlistener的内部类,然后使用它:
class MyActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
//Your code
}
}
button.addActionListener(new MyActionListener());
Run Code Online (Sandbox Code Playgroud)
在一个未来主义的笔记中,当Java 8上架时(2013年,所以不要屏住呼吸),你将能够使用闭包更简洁地做到这一点.