Я делаю пользовательскую кнопку в Java, которая имеет два состояния, mousePressed и mouseReleased.В то же время, если я хочу повторно использовать эту кнопку, чтобы другие слушатели событий могли зарегистрироваться на ней, это те шаги, которые мне следует сделать (это назначение hw, поэтому, хотя JButton можно использовать, я думаю, что мы пытаемсячтобы показать, что мы можем создать нашу собственную кнопку, которая будет действовать как JButton:
- переопределить addActionListener (действие ActionListener)
- переопределить removeActionListener (действие ActionListener)
у меня есть личная переменная, такая как List list = new List (), чтобы отслеживать, когда события добавляются, и какая-то функция с циклом for для запуска всех действий. Вот что у меня есть:
открытый класс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 (frame.setVisible));}});}
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<ActionListener> listenerList = new ArrayList<ActionListener>();
}
Я получаю ошибки компиляции: строка 38: ссылка на списокявляется неоднозначным, и класс java.util.List в java.util и класс java.awt.List в совпадении java.awt List listenerList = new ArrayList ();
и строка 34: не удается найти символ, метод actionPerfomed() в интерфейсе java.awt.event.ActionListener action.actionPerformed ();