我有一个文本框和一个按钮。
它们具有相同的actionPerformed事件侦听器。(例如,当用户单击按钮和用户点击进入时)。
有办法避免这种代码的重复吗?在__中,每种情况下都要修改2处代码,这就成了一件痛苦的事情。
我在想,是否有可能在textfield事件中调用一个按钮事件,就像调用另一个函数中的函数一样?
编辑:
将相同的addActionPerformed方法调用传递到textfield和按钮都可以完成这一任务。
发布于 2011-09-28 01:11:06
我想你是在抱怨,因为你同时使用了一个匿名的内部类。所以别那么做。创建一个一流类,并创建一个传递给两个组件的addActionListener的实例。
发布于 2011-09-28 01:18:05
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//...
}
};
Button button = new Button();
button.addActionListener(actionListener );
TextField textField = new TextField();
textField.addActionListener(actionListener);或者不是那么优雅,但可能在两个doIt()方法中调用第三个方法actionPerformed()。
https://stackoverflow.com/questions/7577289
复制相似问题