во время настройки эта функция называется
private JPanel Defer()
{
defer = new JPanel();
defer.setLayout(new BoxLayout(defer, BoxLayout.Y_AXIS));
JButton deferB = new JButton("Defer Staff Key Cutting");
Color col = colour.getColour("White");
deferB.setBackground(col);
deferB.setActionCommand(def);
deferB.addActionListener(this);
defer.add(deferB);
return defer;
}
Работает нормально и слушатель реагирует. Дело в том, что я хочу изменить цвет кнопки, когда она нажата, и позже, когда я пытаюсь использовать тот же код, который у меня здесь, для цвета, который она выдает, и исключение, утверждающее, что deferB не является реальным.
Поскольку он создан в функции, я знаю, что он локальный, но кнопка должна как-то существовать для отображения на экране.
Как получить доступ к кнопке deferB, чтобы изменить ее цвет вне функции?
Также, если кто-нибудь может объяснить, как локальная переменная может использоваться в программе, как она используется, это было бы здорово, поскольку это не имеет смысла для меня.