Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Обработка событий в Java

Апплет - это специальный модуль для размещения на web-странице. Средства просмотра апплетов встроены в большинство браузеров. В первых строках подключаются стандартные пакеты Java, содержащие классы для работы с графикой и апплетами.

Событие ContainerEvent

Это событие происходит по двум причинам:

Этим причинам соответствуют методы интерфейса:

public interface ContainerListener extends EventListener{ 

public void componentAdded(ContainerEvent e) ; 

public void componentRemoved(ContainerEvent e);

}

Аргумент е предоставляет ссылку на компонент, чье добавление или удаление из контейнера вызвало событие, методом e.getchildo, и ссылку на контейнер — источник события методом e.getcontainer (}. Обычно при наступлении данного события контейнер перемещает свои компоненты.

Событие FocusEvent

Событие возникает в компоненте, когда он получает фокус ввода — идентификатор FOCUS_GAINED, ИЛИ Теряет фокус — Идентификатор FOCUS_LOST.

Соответствующий интерфейс:

public interface FocusListener extends EventListener{

public void focusGainedtFocusEvent e) ;

public void focusLost(FocusEvent e) ; 

}

Обычно при потере фокуса компонент перечерчивается бледным цветом, для этого применяется метод brighter () класса Color, при получении фокуса становится ярче, что достигается применением метода darker о. Это приходится делать самостоятельно при создании своего компонента. 

В библиотеке классов JDK есть много разных классов исключений. В своих программах можно использовать эти классы или разрабатывать собственные. Для всех исключений родительским классом является класс Exception.
Мы, в основном, будем сталкиваться со стандартными исключениями. Типичной является ситуация, когда мы вызываем какую-либо функцию, которая может генерировать исключение. Обрабатывать эту ситуацию можно одним из двух способов:
" поместить вызов "опасной" функции в блок try ... catch. Тем самым мы берем обработку на себя. Например, при открытии файла с помощью объекта FileInputStream может возникать исключение FileNotFoundException в том случае, если файла с заданным именем не существует. Обработка может выглядеть так:

class Test
{
public static void main(String[] args)
{
try
{
FileInputStream in = new FileInputStream("test.txt");
// дальнейшая обработка файла
}
catch (FileNotFoundException e)
{
System.out.println("Файл не найден!!!");
}
}
}

" в заголовок нашей функции добавить выражение throws SomeException, например,

public static void main(String[] args)
throws FileNotFoundException

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

class Test
{
public static void main(String[] args)
throws FileNotFoundException
{
FileInputStream in = new FileInputStream("test.txt");
// дальнейшая обработка файла
}
}

Задание для самостоятельной работы

Изучите самостоятельно стандартные классы исключений, имеющиеся в библиотеке JDK.

 

Математический анализ, лекции по физике Компьютерные сети