Title
Приложения
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Приложения

на главную   назад   вперед

Использование библиотек Swing и AWT для создания графического интерфейса пользователя


Все рассмотренные нами ранее примеры были написаны с использованием библиотеки AWT, для реализации графического интерфейса пользователя. В первых версиях языка это был единственный пакет, разработанный для этих целей. Этот пакет выполняет свои функции, создавая экземпляры парных классов (peer-классов), используемых операционной системой (так называемые тяжелые компоненты). То есть, при создании объекта, фактически создаются два: абстрактный объект Java и объект операционной системы, которые взаимодействуют между собой.

В настоящее время компания Sun предоставила разработчику пакет облегченных компонентов (Swing-компонентов), которые не нуждаются в создании вспомогательных объектов. Библиотека Swing - самое важное нововведение в Java 2. Она является частью JFC (Java Foundation Classes). Общее количество компонентов библиотеки Swing почти вдвое превышает количество компонентов, входящих в библиотеку AWT, и эти компоненты обладают большими функциональными возможностями.

Классы Applet и JApplet

Производным класса Applet из AWT является swing-класс JApplet. Соответственно, данный класс также позволяет создавать апплеты, однако имеет ряд преимуществ. Для запуска Swing-апплетов, используется более сложный тег (<OBJECT> - для Internet Explorer, и <EMBED> - для Netscape Navigator).

Ниже показан апплет-пример JSimpleGraphicEditor, написанный с использованием компонентов Swing:

</COMMENT> No JDK 1.2 support for APPLET!!

Теги <OBJECT> и <EMBED>

Как уже было сказано, на замену тегу <APPLET> пришли два других тега и для их использования необходимо, чтобы броузер правильно их понимал. Для этих целей нужно загрузить Java Plug-in от Sun Microsystems.

Рассмотрим пример для IE:

   <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
      width="200" height="200" align="baseline" 
      codebase="http://java.sun.com/products/plugin/1.2.2/
                       jinstall-1_2_2-win.cab#Version=1,2,2,0">
       <PARAM NAME="code" VALUE="файл класса">
       <PARAM NAME="codebase" VALUE="базовый адрес">
       <PARAM NAME="type" VALUE="application/x-java-applet;
                                    version=1.2.2">
       <PARAM NAME="имя собственного параметра" VALUE="...">
       ...
           No JDK 1.2 support for APPLET!!
   </OBJECT>

Пример для Netscape:

   <EMBED type="application/x-java-applet;version=1.2.2" width="200"
      height="200" align="baseline" code="..."
      codebase="..." 
      pluginspage="http://java.sun.com/products/plugin/1.2/
                          plugin-install.html">
   <NOEMBED>
      No JDK 1.2 support for APPLET!!
   </NOEMBED>
   </EMBED>

Можно использовать комбинированный тег:

   <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
       width="200" height="200" align="baseline"
       codebase="http://java.sun.com/products/plugin/1.2.2/
                        jinstall-1_2_2-win.cab#Version=1,2,2,0">
   <PARAM NAME="code" VALUE="...">
   <PARAM NAME="codebase" VALUE="...">
   <PARAM NAME="type" VALUE="application/x-java-applet;
                                          version=1.2.2">
   <COMMENT>
       <EMBED type="application/x-java-applet;version=1.2.2"
                                                width="200"
          height="200" align="baseline" code="..." 
          codebase="..." model="..."
          pluginspage="http://java.sun.com/products/plugin/1.2/
                              plugin-install.html">
       <NOEMBED>
       </COMMENT>
              No JDK 1.2 support for APPLET!!
       </NOEMBED></EMBED>
   </OBJECT>

Подробное описание этих тегов можно найти на http://java.sun.com