Делаю для программы меню и там есть много однотипных мест:
// ...
menuFile = new JMenu("Файл");
menuBar.add(menuFile);
itemCreate = new JMenuItem("Создать");
itemCreate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// код
}
});
menuFile.add(itemCreate);
// ...
Всего там 5 пунктов меню и что-то около 40 кнопок. В интернете нашёл лямбды, что немного упростило создание каждого пункта меню за счёт вынесения кода в отдельный метод:
// ...
itemCreate = new JMenuItem("Создать");
itemCreate.addActionListener(e -> onCreate());
menuFile.add(itemCreate);
// ...
Однако всё же основной класс мне кажется слишком длинным и перегруженным. Как эту проблему обычно решают? Нормально ли вынести методы кнопок в отдельный класс и сделать их статичными? Или же лучше создать отдельный пакет с классом для каждой кнопки, переопределяя основной класс JMenuItem?