Программы с графическим интерфейсом (GUI) и апплеты в Java

Разумеется, Java позволяет создавать не только программы с интерфейсом командной строки (CLI – Command Line Interface), но и приложения с графическим интерфейсом пользователя (GUI – Graphic User Interface). Последние выглядят как оконные приложения, состоящие из одной или нескольких форм, где пользователь, пользуясь привычными жлементами управления (текстовыми полями, кнопками, ползунками и пр.) управляет программой. При этом на Java могут создаваться «настольные» приложения самого серьезного уровня. Например, на Java созданые интегрированная среда разработки NetBeans и свободный офисный пакет OpenOffice (прямой агалог MS Office).

Кроме двух описанных выше видов приложений, Java также позволяет создавать апплеты. Апплет – это приложение встраиваемое в веб-страницу и исполняемое на компьютере пользователя в тот момент, когда пользователь эту страницу посещает (т. е. Просматривает через свой браузер).

Апплет, из соображений безопасности, имеет ограниченные возможнсти по доступу к ресурсам компьютера пользователя (иначе, например, легко было написать апплет, который бы при заходе на некоторую страницу в интрнете стирал бы важные данные с пользовательского компьютера). Но при этом апплет может общаться с сервером или даже несколькими серверами в интернете (например, сохраняя туда информацию полученную от пользователя).

Апплеты Java в тот момент, когда они только задумывались, претендовали на роль решения, которое сможет обогатить веб-страницы мультимедийными возможностями (например, апплет мог содержать какую-то анимацию или даже целую игру, которая могла бы запускать при простом посещение страницы). Но в последствии данную нишу заняла технология Flash, а далее на неё же начали претендовать и технологии других компаний (например, Silverlight от Microsoft). Но Java-апплеты по-прежнему активно применяются в тех областях, где требуется интеграция с программным комплексом, остальные компоненты которого (кроме части, доступной на веб-странице) построены на Java. Например, часто можно встретить реализацию системы клиент-банкинга как раз через апплет на сайте банка.

Ознакомиться с примерами и подробнее узнать об апплетах можно из лекции про апплеты и GUI-приложения в Java.