2013-11-27 3 views
4

Какой правильный путь, программисты используют для обработки событий в JAVA? Вопрос заключается в том, нормально ли это, чтобы автоматически генерировать код, дважды щелкнув кнопку в режиме дизайна Затмения, как этотКаков правильный способ обработки событий в JAVA?

btn_add_game.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent arg0) { 

MY CODE TO EXECUTE; 
      } 
     }); 

или это necessery написать класс, который реализует действия слушателя, а затем написать код?

Также, по тому же вопросу, нормально ли использовать конструкторский вид в eclipse или программисты с жестким ключом, используя только код?

+1

Да, это нормально. – Vallentin

ответ

1

То, что вы написали, прекрасно. Это анонимный внутренний класс , и я не думаю, что с этим вокруг есть запах кода.

Представьте, что вы внедрили всех слушателей в качестве отдельных классов. Вы бы закончили с распространением классов, которые по сути являются анонимными функциями (например, labdas на других языках).

So Да, входить и использовать сгенерированные слушатели.

Вы другой вопрос религиозный. Половина программистов скажут, что не используют его, другая половина скажет вам использовать его. Все сводится к предпочтению. Если проектировщик, о котором идет речь, генерирует качественный код, тогда используйте его в противном случае.

+0

+1 В какой-то степени я считаю, что его первый вопрос также является религиозным, особенно с доступными сегодня IDE. Я лично рекомендовал бы использовать отдельный класс для слушателей в большинстве случаев, но это только личное мнение. У меня были такие дебаты на моей работе несколько раз. – Laf

1

Все зависит от политики вашей компании и того, как вы хотите, чтобы ваш код был разделен на логические единицы. Код, который вы предоставили в своем вопросе, в порядке; он позволит вам обработать событие.

Однако, как правило, я предпочитаю иметь отдельный класс, который расширяет интерфейс прослушивателя, который мне нужен, вместо того, чтобы иметь кучу анонимных внутренних классов. Он генерирует более чистый код (по моему мнению), и упрощает его поддержку или позже добавляет новые функции. Но имейте в виду, что это только мое мнение (Адам опубликовал совершенно правильный ответ, который противоречит моему мнению).

Что касается кодирования графического интерфейса, я никогда не использую построитель графического интерфейса, я считаю, что мне не хватает контроля над компонентами, расположением и поведением графического интерфейса. Я всегда кодирую его вручную, используя соответствующий LayoutManager или комбинацию менеджеров. Но, если ваш пользовательский интерфейс достаточно прост, и вы не хотите тратить время на изучение того, как обрабатывать графический интерфейс на Java, то использование построителя является вполне допустимым вариантом.

+0

* Примечание: разработчик с одним ** p ** (в вашем профиле). * –

+0

@AdamArold Хороший улов. Приветствую мое французское канадское наследие: P Спасибо, что заметили;) – Laf

+0

Ouch. : P +1 кстати. –

1

Это зависит от ваших потребностей.

  1. Если есть какое-либо действие, чем использование напрямую, как вы покажете на свой вопрос.
  2. Если есть несколько действий, то вы должны выполнить ActionListener для обслуживания и уменьшить код шаблона.
Смежные вопросы