Из класса View:
@Override
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
switch (command) {
case "Новый": {
controller.createNewDocument();
} break;
case "Открыть": {
controller.openDocument();
} break;
case "Сохранить": {
controller.saveDocument();
} break;
case "Сохранить как...": {
controller.saveDocumentAs();
} break;
case "Выход": {
exit();
} break;
case "О программе": {
showAbout();
} break;
}
}
Внимание конкретно на следующий кусок кода.
case "Выход": {
exit();
} break;
В данном куске кода нельзя вызвать просто exit(), потому что: Убедись, что если в метод actionPerformed(ActionEvent actionEvent) передано событие с командой "Выход", метод вызывает у контроллера exit().
Но, ведь, если посмотреть на метод exit() у View, то можно увидеть, что он как раз и вызывает exit() у контроллера:
public void exit() {
controller.exit();
}
Так что получилось как-то странно. Исправьте, пожалуйста :)