在内部类中定义按钮操作 Vs 在 swing 的公共类中定义按钮操作

2024-01-07

我有一个对话框,其中有四个按钮:新建、保存、删除、取消。现在每个人都需要执行他们的行动。所以我定义了一个单独的类来实现ActionListener。我已经使用这个类来执行每个按钮操作。

public class MyClass implements ActionListener {
  public void actionPerformed(ActionEvent e) { 
   if(e.getActionCommand().toString() == "OK") {
        // Code
   } else if( .. ){

   }
  }
}

我所做的是,我定义了一个内部类,我用它来执行相同的功能。但我没有得到的是,最好的做法是编写一个单独的类,还是最好使用内部类。有人建议我在公共课上写作,这样明天有人就可以使用这个课来执行他们的操作。所以我有以下问题,

  1. 如果该功能没有被任何对象调用(我不能说),那么我可以将它写在内部类中吗?或者

  2. 编写执行该对话框操作的内部类总是一个好习惯吗?


这些问题没有通用的答案。如果代码在actionPerformed()就是一行,编写整个类文件通常是大材小用。

如果代码更复杂,它可能适合重用,但随着代码的增长,它也会变得更加具体(因此您不能再重用它)。

尝试遵循以下方法:

  • 从彼此独立的简单块构建您的应用程序。
  • 通过编写连接块的代码来配置应用程序。

因此,就您而言,您可以使用辅助方法来完成这项工作。把它们包起来Swing Actions http://docs.oracle.com/javase/7/docs/api/javax/swing/Action.html;这允许您在各种按钮和菜单中使用它们。

尝试将尽可能多的工作转移给助手,以便操作变得非常简单。如果有疑问,问问自己:这段代码是工作的一部分吗?每个人都需要这样做吗?

如果是,那么代码应该进入工作/帮助程序类。

如果是 UI 相关检查(可见/启用)、转换(字符串到数字)、验证等,则应该进入操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在内部类中定义按钮操作 Vs 在 swing 的公共类中定义按钮操作 的相关文章

随机推荐