Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
rosoft Visual J++,
 позволяет автоматически создавать исходные тексты шаблонов таких 
комбинированных приложений.
   Структура комбинированных приложений
   Рассмотрим структуру комбинированного приложения Combi, полные исходные 
тексты которого мы привели ниже в этой главе.
   Главный класс комбинированного приложения
   Класс Combi создан на базе класса Applet, что необходимо для обеспечения 
работы этого приложения под управлением навигатора Internet:
public class Combi extends Applet
{
  . . .
  public static void main(String args[])
  {
    . . .
  }
  public String getAppletInfo()
  {
    . . .
  }
  public void init()
  {
    . . .
  }
  public void paint(Graphics g)
  {
    . . .
  }
}
   Обратите внимание, что наряду с методами, которые обычно определяются 
аплетами, такими как getAppletInfo, init и paint, в классе комбинированного 
приложения определен метод main. Если приложение запускается как аплет, метод 
main не получает управления. Если же приложение запущено автономно, этот метод 
первым получает управление и выполняет все необходимые инициализирующие 
действия.
   Главное из этих действий - создание окна на базе класса Frame для размещения 
в нем аплета, создание аплета и вызов функций инициализации аплета. Ниже мы 
привели исходный текст метода main приложения Combi, созданный для нас системой 
Java Applet Wizard:
public static void main(String args[])
{
  CombiFrame frame = new CombiFrame("Combi");
  frame.show();

  frame.hide();
  frame.resize(
    frame.insets().left + frame.insets().right  + 320,
    frame.insets().top  + frame.insets().bottom + 240);

  Combi applet_Combi = new Combi();
  frame.add("Center", applet_Combi);
  . . .
  applet_Combi.init();
  applet_Combi.start();
  frame.show();
}
   Прежде всего, метод main создает объект frame класса CombiFrame, 
определенного в нашем приложении на базе класса Frame (окно фрейма). Напомним, 
что класс Frame, который был нами описан в 30 томе “Библиотеки системного 
программиста”, позволяет приложениям Java создавать окна, напоминающие окна 
обычных приложений Windows.
   Метод show отображает окно фрейма.
   Далее в методе main выполняется изменение размеров окна фрейма, перед чем 
окно скрывается методом hide. Для изменения размеров окна применяется метод 
resize, которому через первый и второй параметры передаются новые значения, 
соответственно, ширины и высоты окна.
   Размеры окна устанавливаются с учетом размеров внешней рамки и заголовка 
окна, для чего применяется метод insets. Поля left и right объекта класса 
Insets, ссылку на который возвращает метод insets, содержат ширину, 
соответственно, левой и правой части рамки окна. Поле top содержит высоту 
верхней части рамки окна с учетом заголовка, а поле bottom - высоту нижней 
части рамки окна.
   Далее метод main делает нечто интересное - он создает аплет класса Combi:
Combi applet_Combi = new Combi();
   Когда приложение Java встроено в документ HTML как аплет, объект аплета 
создается автоматически навигатором при просмотре этого документа и добавляется 
в окно навигатора. В случае автономного приложения мы сами должны создать аплет 
и добавить его в окно фрейма.
   Добавление аплета в окно фрейма выполняется методом add:
frame.add("Center", applet_Combi);
   В 30 томе “Библиотеки системного программиста” мы использовали этот метод 
для добавления компонент в окно контейнера, которым, в частности, является окно 
фрейма.
   Создав аплет, мы должны вызвать методы init и start, как это происходит при 
инициализации аплета, встроенного в документ HTML:
applet_Combi.init();
applet_Combi.start();
   Перед завершением своей работы метод main отображает окно фрейма, внутри 
которого теперь находится окна аплета:
frame.show();
   Класс фрейма для комбинированного приложения
   Теперь о классе CombiFrame.
   Определение этого класса выглядит достаточно просто:
class CombiFrame extends Frame
{
  public CombiFrame(String str)
  {
    super (str);
  }
  public boolean handleEvent(Event evt)
  {
    swit
 
<<-[Весь Текст]
Страница: из 275
 <<-