2015-07-04 1 views
2

Я изучаю Java и хотел бы иметь более глубокое понимание того, что означает и обозначает ActionEvent e perameter. Когда я код, я не просто хочу выплюнуть строки, которые работают, но я не понимаю. Я хочу иметь полное понимание понятий, прежде чем использовать их.Что означает ActionEvent?

Так что конкретно это спрашивает и что означают две части (ActionEvent и e)?

class ButtonListener implements ActionListener{ 
     @Override 
     public void actionPerformed(ActionEvent e){ 
    } 
} 

Спасибо.

+0

е является тип ActionEvent, это позволяет получить доступ к свойствам в ActionEvent. Метод actionPerformed вызывается, когда связанный объект генерирует действие, ActionEvent переносит свойства, если действие, которое помогает вам определить, что вы должны делать – MadProgrammer

+0

Короче .. ActionEvent - это класс или событие, которое получает полные ссылки, когда событие будет огнем. Чтобы вы могли получить полную информацию об активированном событии и использовать его функцию, свойства и все остальные. –

ответ

4

ActionEvent является классом, e является экземпляром этого класса. Вы можете использовать электронную называть это методы/свойства, здесь

http://docs.oracle.com/javase/7/docs/api/java/awt/event/ActionEvent.html

ActionEvent просто тип, он сообщает вам, какой тип объекта e есть. Кстати, вы можете изменить e на все, что пожелаете, например. event или object.

ActionEvent event, ActionEvent object (помните, что не следует путать с Object, его объект с строчными буквами "о"), ActionEvent anyVariableName и т.д. ...

Тогда внутри actionPerformed() вы можете назвать такие вещи, как event.doSomething();

+0

, чтобы я мог изменить «e» на любое имя, которое я хочу? – MooseMan55

+1

Да, это просто ссылочное имя, переменная. Он создает экземпляр класса ActionEvent, поэтому вы не можете изменить ActionEvent. «e» имеет смысл только в actionPerformed(). –

+0

Это довольно сложная тема, чтобы начать изучать Java.Я не стал бы сразу переходить к обучению, основанному на событиях, без предварительного изучения основ объектно-ориентированного программирования. Я бы сосредоточился на более простых примерах в основном методе, чтобы узнать, что такое объектно-ориентированная программа, почему она используется. После этого попробуйте изучить шаблон дизайна наблюдателя, тогда вы будете лучше подготовлены к пониманию программирования, управляемого событиями. – kiwicomb123

0

ActionEvent - это «событие», которое ваш слушатель ловит, отправленный диспетчером. Это означает, что, по словам непрофессионала, какой-то поток где-то решил, что ваши действия (например, нажатие кнопки и т. Д.) Вызвали действие и сообщили системе. Ваш слушатель поднимает это значение и берет ссылку как параметр e. This может помочь пролить немного больше света на то, что/почему действие; и, может быть, полезно проверить «Диспетчер событий» (EDT).

0

Этот должен помочь вам: http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html

В принципе, ButtonListener - это ваша реализация ActionListener. Вы будете использовать его как

someButton1.addActionListener(new ButtonListener()); 
someButton2.addActionListener(new ButtonListener()); 

Он будет слушать для любых событий действий на кнопки «someButton1» и «someButton2'.But мы могли бы обрабатывать щелчки на обе кнопки по-другому. То, когда ActionEvent является полезным.

Внутри метода, мы можем сделать это, следуя

@Override 
public void actionPerformed(ActionEvent e){ 
    if(e.getActionCommand().equals("Button 1")){ 
     //Process Button 1 action event here 
    } 
    else if(e.getActionCommand().equals("Button 2")){ 
     //Process Button 2 action event here 
    } 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^