Рисунок 9 — Ошибка выхода за пределы первого индекса
Рисунок 10 — Ошибка выхода за пределы второго индекса Все векторы можно сохранить, нажав на «Сохранить...» (рис. 11).
Рисунок 11 — Окно сохранения файла Если файл уже существует, то появится вопрос о перезаписи (рис. 12).
Рисунок 12 — Вопрос о перезаписи После сохранения данных удалим все векторы из списка, нажав на
кнопку «Удалить все векторы». И воспользуемся кнопкой «Открыть...».
11
Рисунок 13 — Окно открытия файла После открытия файла увидим следующий результат (рис. 14).
Рисунок 14 — Результат открытия файла Если попробуем снова открыть файл, то появится вопрос о
предварительной очистке списка векторов (рис. 15).
Рисунок 15 — Вопрос о предварительной очистке списка векторов Можно не очищать — тогда данные добавятся в конец.
12
При открытии/сохранении файла может возникнуть ошибка совместимости периферии (рис. 16).
Рисунок 16 — Ошибка совместимости периферии HeadlessException — это исключение (ошибка), которая возникает,
когда код, зависящий от клавиатуры, дисплея или мыши, вызывается в среде, которая не поддерживает клавиатуру, дисплей или мышь.
В нашем случае все три периферийных устройства работали исправно. Возникает вопрос — что происходит и как решить проблему.
Информация в Интернете не дала прямого ответа, но по итогу длительного поиска я пришел к выводу о том, что исключение возникает изза отсутствия некоторых разрешений у апплета на работу с файловой системой. А необходимые разрешения можно предоставить так:
1. Создать файл appletviewer.policy в рабочей директории со следующим содержанием (табл. 2).
Таблица 2 — Код appletviewer.policy
grant {
permission java.security.AllPermission;
permission java.net.SocketPermission "*", "accept, connect, listen, resolve";
};
2. Перекомпилировать (на всякий случай):
javac Task8.java
3. Запустить со следующими опциями:
java -Djava.security.policy=appletviewer.policy sun.applet.AppletViewer file:Task8.java
Заключение В результате выполнения лабораторной работы мы ознакомились с
базовыми принципами создания апплетов, технологией Swing и обработкой событий.
13