Java: Как ссылаться на компоненты GUI из объекта AbstractAction?

Часто необходимо изменить поведение других объектов GUI в зависимости от состояния другого объекта GUI. Например. при нажатии кнопки метка должна изменить свое имя. Тем не менее, когда я использую объект AbstractAction, какJButton myButton = new JButton(myButtonAction); Мне нужна ссылка на объекты GUI в объекте, который наследуется от AbstractAction. Должен ли я просто создать объекты 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 = null;

   public GUI(){     
        JLabel label = new JLabel("text");
        //This is not a good idea:
         myAction = new MyAction("some text" , desc, new Integer(KeyEvent.VK_Q), label);

        JButton myButton = new JButton(myAction);
   }
}

Ответы на вопрос(2)

Ваш ответ на вопрос