Tag: abstract action

Java:如何从AbstractAction对象引用GUI组件?

通常需要根据另一个GUI对象的状态更改其他GUI对象的行为。 例如,当按下按钮时,标签应更改其名称。 但是,当我使用像JButton myButton = new JButton(myButtonAction);这样的AbstractAction对象时JButton myButton = new JButton(myButtonAction); 我需要对inheritance自AbstractAction的对象中的GUI对象的引用。 我应该只是在GUI中创建AbstractAction对象,然后将所有必要的GUI引用传递给AbstractAction对象,还是可以认为是坏样式? 为了使它更具体: // AbstractAction public class MyAction extends AbstractAction { public MyAction(String name, String description, Integer mnemonic, JLabel) { super(name); putValue(SHORT_DESCRIPTION, description); putValue(MNEMONIC_KEY, mnemonic); } public void actionPerformed(ActionEvent e) { // do something } } } public class GUI{ public Action myAction = […]

如何在Swing中组织我的动作?

我目前正在替换我的匿名ActionListeners new ActionListener() { @Override public void actionPerformed(final ActionEvent event) { // … } } 使用表示操作的类文件: public class xxxxxxxAction extends AbstractAction { } 但是,我的GUI能够执行很多操作(例如CreatePersonAction,RenamePersonAction,DeletePersonAction,SwapPeopleAction等)。 有没有一种很好的方法将这些类组织成一个连贯的结构?