2013-11-27 132 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进行维护并减少样板代码。
相关问题