我在Java中创建了一个自定义按钮,它有两个状态:mousePressed和mouseReleased . 同时,如果我想重用这个按钮,以便其他事件监听器可以注册它,这些是我应该做的适当步骤(这是一个新的任务,所以尽管可以使用JButton,我想我们正在尝试表明我们可以像JButton一样创建自己的Button:
重写addActionListener(ActionListener操作)
重写removeActionListener(ActionListener操作)
有一个私有变量,如List list = new List(),用于跟踪何时添加事件以及某种带有for循环的函数来运行所有操作 . 这是我到目前为止:
public class CustomButton {public static void main(String [] args){EventQueue.invokeLater(new Runnable(){public void run(){CustomButtonFrame frame = new CustomButtonFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible (true);}}); }
public void addActionListener(ActionListener al)
{
listenerList.add(al);
}
public void removeActionListener(ActionListener al)
{
listenerList.remove(al);
}
private void notifyListeners()
{
for (ActionListener action : listenerList) {
action.actionPerfomed();
}
}
List listenerList = new ArrayList();
}
我收到编译错误:第38行:对List的引用不明确,java.util中的类java.util.List和java.awt中的类java.awt.List匹配List listenerList = new ArrayList();
和第34行:找不到符号,方法actionPerfomed()在接口java.awt.event.ActionListener action.actionPerformed();