2013-11-27 182 views
4

Wich是正確的方式,程序員用它來處理JAVA中的事件?現在的問題是,是不是OK,自動生成代碼,雙擊按鈕,在Eclipse的設計視圖這樣在JAVA中處理事件的正確方法是什麼?

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

MY CODE TO EXECUTE; 
      } 
     }); 

,或者它necessery編寫實現動作偵聽器類,然後編寫代碼?

另外,在同一主題上,在eclipse中使用Designer視圖還是很正常的,或者硬核程序員只使用代碼?

+1

是的,沒關係。 – Vallentin

回答

1

你寫的很完美。這是一個匿名內部類,我不認爲有周圍的人是代碼味道。

想象一下,如果您已將所有偵聽器實現爲單獨的類。你最終會遇到大量匿名函數(比如其他語言的labdas)。

所以是的,繼續並使用生成的偵聽器。

你其他的問題是一個宗教問題。一半的程序員會說不使用它,另一半會告訴你使用它。這一切都是作爲首選。如果有問題的設計器生成高質量的代碼,則使用它,否則不要。

+0

+1在某種程度上,我相信他的第一個問題也是一個宗教問題,特別是今天可用的IDE。我個人建議在大多數情況下爲聽衆使用單獨的課程,但這只是個人意見。我幾次在工作上曾經有過這樣的爭論。 – Laf

1

這一切都取決於您公司的政策,以及您希望將代碼分成多少個邏輯單元。您在問題中提供的代碼是可以的;它將允許您處理事件。但是,我通常更喜歡有一個單獨的類,它擴展了我需要的偵聽器接口,而不是一堆匿名的內部類。它生成更清晰的代碼(在我看來),並使其更容易維護,或稍後添加新的功能。但請記住,這只是我的看法(亞當發佈了一個完全有效的答案,這違背了我的觀點)。就編寫GUI而言,我從來不使用GUI構建器,我發現我缺少對GUI組件,佈局和行爲的控制。我總是使用適當的LayoutManager或管理員組合手工編碼。但是,如果您的用戶界面足夠簡單,並且您不想花費時間學習如何在Java中處理GUI,那麼使用構建器是一個完全有效的選擇。

+0

*注意:開發人員有一個** p **(在您的個人資料中)。* –

+0

@AdamArold良好的捕獲。冰雹到我的法國加拿大遺產:P感謝注意;) – Laf

+0

哎。 :P +1 btw。 –

1

這取決於你的需要。

  1. 如果有一個操作不是直接使用,而是顯示在您的問題上。
  2. 如果有多個操作比您應該執行ActionListener進行維護並減少樣板代碼。
相關問題