HTML Editor (11)

  • 16
  • Недоступна
11.1. Добавь в представление поле UndoManager undoManager. Разберись для чего используется этот класс. Проинициализируй поле класса новым объектом. 11.2. Добавь класс UndoListener реализующий интерфейс UndoableEditListener в пакет listeners. Этот класс будет следить за правками, которые можно отмени
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (26)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
The Body of the Atr
Уровень 51
26 мая, 13:39
Всего эту задачу решили 5301 учеников.
Максим Дудин
Уровень 39, Калининград
29 сентября 2021, 15:30
Сложно когда решаешь задачи с перерывом... Все это знаю/помнят, но для логирования у нас уже есть класс ExceptionHandler с методом void log(Exception e). т.е само логирование в нашем случае вывод в консоль описания исключения с помощью метода этого класса..
Максим Дудин
Уровень 39, Калининград
29 сентября 2021, 14:22
каждый раз приходиться вспоминать - кто такой этот потерпевший представление..
fecaldestroyer
Уровень 31, Москва, Россия
25 марта 2021, 12:57
а почему IDEA не ругается что в методах undo, redo не проброшенные/необработанные исключения?
Андрей Овчаренко
Уровень 41, Москва
7 июня 2021, 09:48
RuntimeException – исключения, наследники класса Exception, генерируемые JVM во время выполнения программы. Часто причиной возникновения их являются ошибки программирования. Эти исключения также являются неконтролируемыми (unchecked) на стадии компиляции, поэтому написание кода по их обработке не является обязательным.
fecaldestroyer
Уровень 31, Москва, Россия
25 марта 2021, 12:02
ехал UndoManager через UndoListener, видит UndoableEditListener в реке UndoableEditEvent, сунул Undo Undo в Undo - Undo, Undo, Undo, Undo...
Aleksej Kudrawets
Уровень 31, Минск, Польша
28 июня 2020, 09:03
Под какими веществами составляли условие?
MartyMcAir
Уровень 41, Россия
20 января 2020, 08:43
в тексте вали баг? так void или boolean!? ___ (да понятно что void)
Иван Сапронов
Уровень 32, Ставрополь, Россия
3 июля 2019, 11:58
Если обернуть undoManager.redo() и его брата в зеркальном методе в try-catch, Идея вежливо предложит ловить в catch CannotRedoException, однако, это не нравится валидатору, нужно ловить просто Exception. P.S. прочёл каменты ниже - не я один такой оказывается... Видимо, нужно взять за правило сначала читать коментарии, а затем сдавать решение на проверку, т.к. иногда ошибки - это не ошибки, а хотелки валидатора. P.P.S. Что-то я так и не разобрался до конца что делает UndoManager... Есть ли у кого ссылка на хороший материал по теме, на русском языке? Поделитесь пожалуйста, если не трудно.
Алексей Боярчук
Уровень 30, Киев, Украина
6 сентября 2019, 08:41
у меня приняло с CannotRedoException
Олег Нейман
Уровень 41, Израиль
7 января 2020, 03:52
Видать самому нужно взять в привычку читать комменты перед валидатором!
11.5.1. void undo() - отменяет последнее действие. Реализуй его используя undoManager.
Метод не должен кидать исключений, логируй их.
11.5.2. void redo() - возвращает ранее отмененное действие. Реализуй его по аналогии с предыдущим пунктом.
вот вообще где тут сказано что нужно ловить ошибки?
Vadim
Уровень 36, США
8 февраля 2021, 23:41
вот здесь:
Метод не должен кидать исключений, логируй их.
Roman
Уровень 40, Таллинн, Эстония
17 февраля, 08:40
Даниил Salesforce Developer в Viseven Master
13 июня 2019, 17:37
Я не понял чем на выхлопе будут отличаться 2 строчки:
undoManager.undoableEditHappened(e);
//   и
undoManager.addEdit(e.getEdit());
А вообще на интуицию, логику и умение подобрать метод решается не так уж и сложно, но когда тебя "ведут за ручку" и говорят а-ля "пойди туда и найди там это", то я уверен что фиг что сам подобное написал бы, да и смогу написать после решения этого блока.
Радик
Уровень 35, Казань
8 июля 2019, 04:52
В первом случае undoManager сработает как UndoableEditListener, т.е. должен отработать метод интерфейса UndoableEditListener Во втором случае undoManager "запоминает" действие отмены, для того чтобы, если попросят и дойдет очередь, отменить это действие.
Александр Воронков
Уровень 35, Украина
12 марта 2019, 21:59
Точно нужно быть экстрасенсом, иногда в условии что то очень очевидное обьясняется по 10 пунктов, а что нибудь не очевидное, типа как реализовать методы класса UndoManager - это забыли упомянуть. И получается, что логнуть ошибку сложнее, чем реализовать методы незнакомого класса.) Кто не понял, как реализовать методы с помощью undoManager идём в документацию этого класса.