java - 我如何在 Swing 中组织我的 Action ?

标签 java swing actionlistener abstract-action

我目前正在替换我的匿名 ActionListeners

new ActionListener() {
    @Override
    public void actionPerformed(final ActionEvent event) {
        // ...
    }
}

用代表 Action 的类文件:

public class xxxxxxxAction extends AbstractAction {
}

但是,我的 GUI 能够执行很多操作(例如 CreatePersonAction、RenamePersonAction、DeletePersonAction、SwapPeopleAction 等)。

有没有什么好的方法可以将这些类组织成某种连贯的结构?

最佳答案

您可以将您的操作保存在单独的包中以隔离它们。有时,将它们放在一个类中很有用,尤其是当操作相关或具有共同的父级时,例如:

public class SomeActions {
    static class SomeActionX extends AbstractAction {
        @Override
        public void actionPerformed(ActionEvent e) {
        }
    }

    static class SomeActionY extends AbstractAction {
        @Override
        public void actionPerformed(ActionEvent e) {
        }
    }

    static class SomeActionZ extends AbstractAction {
        @Override
        public void actionPerformed(ActionEvent e) {
        }
    }
}

然后访问它们:

JButton button = new JButton();
button.setAction(new SomeActions.SomeActionX());

关于java - 我如何在 Swing 中组织我的 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14736792/

相关文章:

java - 如何获取JSTL/EL中的前向信息,是一个包含点的属性

java - Java 日期格式问题

java - JButton 上的 ActionListener 不执行任何操作

java - 如何设置添加选定单元格的文本

Java为当前线程添加进度条

java - Action 监听器的麻烦

Java:如何使用 synchronized 和 volatile

java - 项目文件夹已存在且不为空 - netbeans 中的错误

带有过滤器的 Java JFileChooser 应该仅显示目录无法仅显示目录

java - 图形矩形java上的鼠标监听器