Java:我应该在哪里放置匿名监听器逻辑代码?

标签 java swing listener anonymous-class

我们在工作中争论过什么是在 java 中使用监听器的最佳实践:监听器逻辑是应该留在匿名类中,还是应该放在单独的方法中,例如:

button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        // code here
    }
});

button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        buttonPressed();
    }
});

private void buttonPressed() {
    // code here
}

就可读性和可维护性而言,推荐的方法是什么?我更喜欢将代码保留在监听器中,并且只有在变得太大时才将其设为内部类。在这里,我假设代码在其他任何地方都没有重复。

谢谢。

最佳答案

我自己定下的规则是:

  1. 如果监听器有 2 个以上的方法,则创建一个命名类。
  2. 如果监听器超过 10 行,则创建一个命名类。

非常简单,易于遵循并生成或多或少可读的代码。但我不得不承认,我从来没有想过你的例子说明了什么。

关于Java:我应该在哪里放置匿名监听器逻辑代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4701597/

相关文章:

Java Swing : how to align menu items in rows and columns?

java - 鼠标监听器没有给出正确的点

java - Spring MVC 绑定(bind)结果有错误返回

java - AWS Java API授权不一致

java - 从 Joptionpane 获取索引

java - 在 JTable 中插入后如何进行排序(RowSort)?

Android ListView 点击监听器不起作用

Android - 扩展 setOnGroupExpandListener 方法

java - 克隆一个实例化的抽象类

Java - CSVReader 在值中用逗号正确分割