Как сгенерировать исключение Java

Как сгенерировать исключение JavaПредположим, что с вашей программой случилось нечто ужасное. У вас есть метод readData(), считывающий данные из файла, в заголовке которого указано следующиее:

Content-length: 1024

Однако посе воода 733 символов файл окончился. Вы считаете эту ситуацию настолько ненормальной, что решаете генерировать исключение. Теперь необходимо решить, какого типа должно быть исключение. Нам подходит одна из разновидностей класса IOException. Просматривая документацию, вы обнаруживайте описание исключения EOFException: «Сигнализирует о том, что во время ввода данных неожиданно обнаружен признак конца файла EOF». Отлично. Это исключение можно создать двумя способами: Читать

Обработчик ошибок Java

Обработчик ошибок JavaПредположим, что в ходе выполнения программы, написанной на языке Java обнаруживается ошибка. Она может быть вызвана неверной информацией в файле, неправильным сетевым соединением или выходом ща пределы допустимого диапазона изменения индексов массива, а может быть попыткой использования ссылки, которая не указывает на какой-либо объект. Вполне естественно, пользователи надеются, что программа самостоятельно справится с возникшими неприятностями. Если из-за ошибки какая-либо операция не может быть завершена, то программа должна сделать одно из двух. Читать

Технология Java Web Start

Технология Java Web StartJava Web Start это технология, предназначенная для доставки приложения по интернету. Приложения Java Web Start имеет следующие характеристики.

  • Обычно они доставляются с помощью браузера. Как только приложения Java Web Start загружено, оно может быть запущено без браузера.
  • Они не «живут» в окне браузера. Приложение отображается в своем собственном окне, все браузера.
  • Они не используют реализации Java браузера. Браузер запускает внешнюю программу при получении дескриптора приложения. Для этого используется механизм, подобный тому, который применяется в Adobe Acrobat или RealAudio.
  • Приложениям, снабженным цифровой подписью, могут быть предоставлены права свободного доступа к локальной машине. Приложения, не имеющие подписи, запускаются в «песочнице»(sandbox), что запрещает потенциально опасные операции. Читать

Поля для ввода пароля Java

Поля для ввода пароля JavaПоля для ввода пароля представляют собой особый вид полей редактирования. Чтобы скрыть пароль от посторонних наблюдателей, его символы не отображаются на экране. Вместо этого каждый символ в пароле заменяется эхо-символом обычно звездочкой (*).

В библиотеке Swing предусмотрен класс JPasswordField, реализующий такое поле редактирования. Поля для ввода пароля — это еще одна демонстрация преимуществ архитектуры «Модель — Представление — Контроллер». Для хранения данных пароль использует ту же модель, что и обычное поле редактирования, но его представление изменено и заменяет все символы пароля эхо-символами.

Object: глобальный суперкласс

Object: глобальный суперклассКласс object является предком всех классов — каждый класс в языке Java расширяет класс Object. Однако явно отражать этот факт, как в приведенной ниже строке кода, не нужно:

Если суперкласс явно не указан, им считается класс Object. Поскольку в языке Java каждый класс расширяет Object, очень важно знать, какими возможностями обладает сам класс Object. Некоторые методы класса Object можно понять лишь после изучения потоков. Читать

Уничтожение объекта и метод finalize()

Уничтожение объекта и метод finalize()В некоторых объектно-ориентированных языках, в частности в C++, есть явные деструкторы, предназначенные для уничтожения объектов. Основная их задача — освобождение памяти, занятной объектами. Поскольку в языке Java реализован механизм автоматической сборки мусора, освобождать память вручную нет никакой необходимости, поэтому в языке Java деструкторы отсутствуют.

Разумеется, некоторые объекты используют кроме памяти и другие ресурсы, например файлы, или обрабатывают другие обьекты, которые в свою очередь, обращаются к системным ресурсам. В этом случае очень важно, чтобы ресурсы вовремя освобождались. Читать

Метод equals() Java

Метод equals() JavaМетод equals() класса Object проверяет, эквивалентны ли два объекта. Поскольку метод equals() реализован в классе Object, он определяет лишь, ссылаются ли переменные на один и тот же объект. В качестве проверки по умолчанию эти действия вполне оправданы: всякий объект эквивалентен самому себе.

Для некоторых классов большего и не требуется. Например, вряд ли кому-то потребуется анализировать два объекта PrintStream и выяснить, отличаются ли они друг от друга. Однако в ряде случаев эквивалентными должны считаться объекты одного типа, имеющие одинаковые состояния. Читать

Изолируйте блоки try/catch

try-catchБлоки try/catch выглядят весьма уродливо. Они запутывают структуру кода и смешивают обработку ошибок с нормальной обработкой. По этой причине тела блоков try и catch рекомендуется выделять в отдельные функции. Читать

Блокирование и разблокирование пунктов меню

Блокирование и разблокирование пунктов менюБывают случаи, когда некоторые пункты меню должны выбираться лишь в определенных ситуациях. Например, если документ открыт лишь для чтения, то пункт меню Save не имеет смысла. Разумеется, этот пункт можно удалить с помощью JMenu.remove(), но пользователя может удивить постоянно изменяющееся меню. Лучше все же заблокировать пункты меню, временно лишив пользователя возможности выполнять ряд операции.

Чтобы разблокировать или заблокировать пункт меню, используется метод setEnabled(): Читать

Выпадающие списки Java

Выпадающие списки JavaЕсли вариантов для выбора слишком много, переключатели не подойдут, поскольку для них не хватит места на экране. В этом случае следует использовать выпадающие списки(combo box). Если пользователь щелкнет на этом компоненте, откроется список из нескольких пунктов и пользователь сможет выбрать один из них.

Если выпадающий список является редактируемым, то строку, соответствующую выбранному пункту, можно редактировать подобно содержимому обычного текстового поля. Таким образом, редактируемый выпадающий список объединяет в себе гибкость текстового поля и возможность выбора из фиксированного набора возможностей, предусмотренных заранее. Выпадающие списки реализуются  с помощью класса JComboBox. Читать