Я хотел бы использовать фабричные классы и методы для создания компонентов GUI, но я не знаю, как и в каком классе должны быть объявлены и добавлены к компонентам различные слушатели.
Если у меня есть простой фабричный класс, такой как указанный ниже, я должен добавить ActionListener к кнопке, прежде чем она будет возвращена вызывающему классу. Если ответ «Да», то как мне добавить слушателя?
class GUIFactory
{
public static JButton getJButton()
{
JButton aButton = new JButton();
return aButton;
}
}
Предположим, я хочу использовать метод getJButton() для добавления 5 кнопок в графический интерфейс. Как мне закодировать ActionListener, чтобы он знал, какая кнопка была нажата?
Или слушатели должны быть добавлены в вызывающий класс?
JFrame gui = new JFrame();
gui.add(AppFactory.getJButton());
Я пробовал следующее
gui.add(GUIFactory.getJButton().addActionListener(new guiButtonListener()));
и получил ошибку:
Тип "void" здесь недопустим.
AbstractButton
, из метода, чтобы быть более гибким, если вы действительно меняете возвращаемый компонент. - person Johannes Wachter   schedule 23.08.2010