Latest web development tutorials

Фонд Java Applet

Фонд Java Applet

Апплет представляет собой программу Java. Как правило, он работает в веб-браузере Java с поддержкой. Потому что она имеет полную поддержку Java API, так что апплет является полнофункциональный Java приложений.

Ниже важное различие между автономных прикладных программ Java и апплет:

  • Класс Java-апплет наследует класс java.applet.Applet
  • Класс Applet не определяет главный (), поэтому программа не вызывает метод апплета Main (),
  • Апплеты предназначены для встраивания в HTML-страницы.
  • Когда пользователь просматривает страницу HTML, содержащий апплета, апплетов код загружается на компьютер пользователя.
  • Для просмотра апплет нуждается в JVM. JVM может быть плагин веб-браузер, или отдельная среда выполнения.
  • JVM машины пользователю создать экземпляр класса апплета, и вызывает апплетов жизненный цикл различных методов.
  • Апплеты имеют строгие правила безопасности веб-браузер апплет закрепленное безопасности называется безопасности песочница.
  • Форма апплет нужны другие классы могут использовать файл Java Archive (JAR) загружается.

Апплет жизненный цикл

Класс Applet предоставляет четыре метода дают вам рамки, вы можете быть на основы для разработки небольшой программы:

  • INIT: Целью данного метода является то, чтобы обеспечить любую необходимую для инициализации вашего апплета. Этот метод вызывается после того, как теги Applet парам тегов обрабатывается.
  • Старт: браузер вызывает метод инициализации, который вызывается автоматически. Всякий раз, когда пользователь возвращается на страницу с других страниц, содержащих апплета, а затем вызвать метод.
  • остановка: Когда пользователь удаляется из страницы , содержащей апплет, метод вызывается автоматически. Таким образом, этот метод можно вызывать несколько раз в том же апплет.
  • уничтожить: Этот метод вызывается только тогда , когда браузер закрыт корректно. Поскольку апплеты после действительна только на странице HTML, так что вы не должны быть в пользователь покидает страницу, которая содержит апплета пропустить ни ресурсов.
  • краска: Этот метод вызывается сразу после метода запуска () или апплет необходимо перерисовать , когда браузер вызовов. Метод краски () фактически унаследовал от java.awt.

"Hello, World" апплета:

Вот простой апплета программа HelloWorldApplet.java:

import java.applet.*;
import java.awt.*;
 
public class HelloWorldApplet extends Applet
{
   public void paint (Graphics g)
   {
      g.drawString ("Hello World", 25, 50);
   }
}

Эти заявления импортировать следующие классы в нашем классе апплета:

java.applet.Applet.
java.awt.Graphics.

Без этих операторов импорта, Java компилятор не распознает апплетов и графика классов.


класс Applet

Каждый апплет подкласс класса апплета java.applet.Applet базовый класс предоставляет метод для полученных вызовов класса, с целью получения информации и услуг контекст браузера.

Эти методы сделать следующие вещи:

  • Получить параметры апплета
  • Получить сетевую папку, содержащую файл HTML апплета
  • Получить каталог сетевого расположения класса апплета
  • Информация о состоянии печати браузера
  • Получить картину
  • Получает аудио-клип
  • Воспроизведение аудио клип
  • Изменение размера апплет

Кроме того, класс апплета также предоставляет интерфейс, который для просмотра апплетов или браузер, чтобы получить информацию и контролировать выполнение апплета.

Телезритель может быть:

  • Запрос апплет автор, версия и информация об авторских правах
  • Описание запроса идентификации параметров апплета
  • Инициализация апплет
  • апплет Destruction
  • Начало апплета
  • Конец выполнения апплета

Апплет класс обеспечивает реализацию по умолчанию этих методов, эти методы могут быть переопределены при необходимости.

"Hello, World" апплет получают в соответствии со стандартом. Единственный способ быть переопределен метод рисования.


апплета вызова

Апплет представляет собой программу Java. Как правило, он работает в веб-браузере Java с поддержкой. Потому что она имеет полную поддержку Java API, так что апплет является полнофункциональный Java приложений.

Тег <апплета> основан апплет встроен в HTML-файл. Ниже приводится призыв к "Hello World" пример апплета;

<html>
<title>The Hello, World Applet</title>
<hr>
<applet code="HelloWorldApplet.class" width="320" height="120">
If your browser was Java-enabled, a "Hello, World"
message would appear here.
</applet>
<hr>
</html>

Примечание: Вы можете обратиться к HTML - тег апплета , чтобы узнать больше о методе апплета вызова из HTML.

Свойства <апплета> Тег определяет класс Applet для запуска. Ширина и высота используется для указания исходного размера апплета для запуска панели. апплет должен использовать <апплет /> тег, чтобы закрыть.

Если апплет принимает параметры, то значение параметра требуется Добавить теги, тег находится в <апплета> и </ APPLET> между ними. Браузеры игнорируют текст и другие теги этикетки апплета.

Не поддерживает Java-браузер не может выполнить <апплета> и </ апплет>. Таким образом, между меткой и отношения апплет отображения и ничего, без поддержки Java-браузера она видна.

Просмотра или браузер, чтобы найти место в документе скомпилирован Java код, чтобы указать путь к документу, должны использовать <апплета> атрибут кодовая задает тэг.

Как следует:

<applet codebase="http://amrood.com/applets"
code="HelloWorldApplet.class" width="320" height="120">

Если апплет, где пакет вместо пакета по умолчанию, пакет должен быть указан в коде, где свойство, где, например:

<applet code="mypackage.subpackage.TestApplet.class"
           width="320" height="120">

Получить параметры апплета

В следующем примере показано, как использовать ответ апплет, чтобы установить параметры, указанные в файле. Апплет показывает черный шахматный рисунок и второй цвет.

Второй цвет и размер каждого столбца, указанного параметрами апплета в документе.

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

просмотра апплетов или браузер, когда апплет запускает каждый вызов метода Init (). После загрузки апплета, просмотра немедленно вызвать метод Init () (Applet.init () ничего не делал), переопределить реализацию по умолчанию этого метода, добавить пользовательский код инициализации.

Метод Applet.getParameter () задается значением параметра имя параметра, полученного. Если полученное значение является числом или другие данные несимвольного, вы должны решить к строкового типа.

Следующий пример CheckerApplet.java Сводка:

import java.applet.*;
import java.awt.*;
public class CheckerApplet extends Applet
{
   int squareSize = 50;// 初始化默认大小
   public void init () {}
   private void parseSquareSize (String param) {}
   private Color parseColor (String param) {}
   public void paint (Graphics g) {}
}

Вот метод CheckerApplet класс Init () и частные parseSquareSize () метод:

public void init ()
{
   String squareSizeParam = getParameter ("squareSize");
   parseSquareSize (squareSizeParam);
   String colorParam = getParameter ("color");
   Color fg = parseColor (colorParam);
   setBackground (Color.black);
   setForeground (fg);
}
private void parseSquareSize (String param)
{
   if (param == null) return;
   try {
      squareSize = Integer.parseInt (param);
   }
   catch (Exception e) {
     // 保留默认值
   }
}

ParseSquareSize апплет вызова (), чтобы разрешить параметры squareSize. parseSquareSize () метод вызывает библиотеку Integer. ParseInt (), который будет разобрать строку в целое число, если параметр не действителен, когда, Integer.parseInt () вызывает исключение.

Таким образом, метод parseSquareSize () также поймать исключение, и апплет не разрешено принимать недопустимый ввод.

Метод апплета вызова parseColor () параметра цвета решает значение цвета. Метод parseColor () сравнивались в набор строк, чтобы соответствовать значению параметра и заранее заданного имени цвета. Необходимо реализовать эти методы, чтобы сделать апплет работы.


Укажите параметры апплета

Следующий пример представляет собой HTML-файл, который встраивает класс CheckerApplet. HTML-файл с помощью Апплет метод тегов, чтобы указать два параметра.

<html>
<title>Checkerboard Applet</title>
<hr>
<applet code="CheckerApplet.class" width="480" height="320">
<param name="color" value="blue">
<param name="squaresize" value="30">
</applet>
<hr>
</html>

Примечание: Имена параметров не чувствительны к регистру.


Приложения в Applet

Графические приложения Java (относится к использованию приложений и использование Java программа запуска программ AWT) в встроенный в веб-страницу, где апплет очень прост.

Ниже приведены несколько шагов, чтобы преобразовать приложение в апплет:

  • Написать страницу HTML, который может быть загружен с апплет код тега.
  • Написать подкласс JApplet, класс устанавливается публике. В противном случае, апплет не может быть загружен.
  • Устранить применение основного метода (). Не строить рамки для окна приложения, поскольку приложение, которое будет отображаться в браузере.
  • Рамка окна приложения конструктор, где код инициализации методу апплета инициализации (), объект апплет конфигурации вы не проявляете браузер с помощью вызова метода Init () для создания экземпляра объекта.
  • Удалите вызов метода SetSize (), апплет обеспокоен тем, что размер был создан с помощью HTML-файла в параметрами ширины и высоты.
  • Удалите вызов метода setDefaultCloseOperation (). Апплет не может быть закрыт, так как при выходе из браузера прекращается.
  • Если приложение вызывает метод SetTitle (), устранение вызова этого метода. апплет не может иметь строку заголовка. (Конечно, вы можете дать через HTML тег заголовка для страницы сама по имени)
  • Не называйте SetVisible (истина), автоматически отображается апплет.

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

Апплет класс наследует ряд метода обработчика событий из класса Container. Класс Контейнер определяет несколько методов, таких как: processKeyEvent () и processMouseEvent (), для обработки конкретных типов событий, существует способ, чтобы захватить все события, называемые ProcessEvent.

В ответ на событие, апплет должен переопределить соответствующий метод обработчика событий.

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;
 
public class ExampleEventHandling extends Applet
                             implements MouseListener {
 
    StringBuffer strBuffer;
 
    public void init() {
         addMouseListener(this);
         strBuffer = new StringBuffer();
        addItem("initializing the apple ");
    }
 
    public void start() {
        addItem("starting the applet ");
    }
 
    public void stop() {
        addItem("stopping the applet ");
    }
 
    public void destroy() {
        addItem("unloading the applet");
    }
 
    void addItem(String word) {
        System.out.println(word);
        strBuffer.append(word);
        repaint();
    }
 
    public void paint(Graphics g) {
         //Draw a Rectangle around the applet's display area.
        g.drawRect(0, 0,
                      getWidth() - 1,
                      getHeight() - 1);
 
         //display the string inside the rectangle.
        g.drawString(strBuffer.toString(), 10, 20);
    }
 
  
    public void mouseEntered(MouseEvent event) {
    }
    public void mouseExited(MouseEvent event) {
    }
    public void mousePressed(MouseEvent event) {
    }
    public void mouseReleased(MouseEvent event) {
    }
 
    public void mouseClicked(MouseEvent event) {
         addItem("mouse clicked! ");
    }
}

Вызов следующий апплет:

<html>
<title>Event Handling</title>
<hr>
<applet code="ExampleEventHandling.class"
width="300" height="300">
</applet>
<hr>
</html>

Большинство начал работать, дисплей апплет "инициализации апплета. Запуск апплета.", А затем нажмите на прямоугольник, он будет показывать "мышь нажал".


Показать фотографии

апплет может отображать GIF, JPEG, BMP и другие форматы изображения. Для просмотра изображений в апплет, вам нужно использовать DrawImage () метод java.awt.Graphics класса.

Следующие примеры демонстрируют все шаги для отображения изображений:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class ImageDemo extends Applet
{
  private Image image;
  private AppletContext context;
  public void init()
  {
      context = this.getAppletContext();
      String imageURL = this.getParameter("image");
      if(imageURL == null)
      {
         imageURL = "java.jpg";
      }
      try
      {
         URL url = new URL(this.getDocumentBase(), imageURL);
         image = context.getImage(url);
      }catch(MalformedURLException e)
      {
         e.printStackTrace();
         // Display in browser status bar
         context.showStatus("Could not load image!");
      }
   }
   public void paint(Graphics g)
   {
      context.showStatus("Displaying image");
      g.drawImage(image, 0, 0, 200, 84, null);
      g.drawString("www.javalicense.com", 35, 100);
   } 
}

Вызов следующий апплет:

<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="300" height="200">
<param name="image" value="java.jpg">
</applet>
<hr>
</html>

воспроизведение аудио

Апплета через пакет java.applet использования AudioClip воспроизводить аудио интерфейсы. AudioClip интерфейс определяет три метода:

  • общественного недействительными воспроизведения (): С самого начала , как только воспроизведения аудио этот клип.
  • общественного недействительными цикла (): цикл воспроизведения аудио этот клип
  • остановка общественного недействительными (): Стоп аудио - клип

Для того чтобы получить объект AudioClip, вы должны вызвать getAudioClip () метод класса Applet. Независимо от того, является ли URL точек на реальный звуковой файл, который будет возвращать результат немедленно.

Пока вы не хотите играть звуковой файл, этот файл будет загружен.

Следующие примеры демонстрируют шаги для воспроизведения всех аудио:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class AudioDemo extends Applet
{
   private AudioClip clip;
   private AppletContext context;
   public void init()
   {
      context = this.getAppletContext();
      String audioURL = this.getParameter("audio");
      if(audioURL == null)
      {
         audioURL = "default.au";
      }
      try
      {
         URL url = new URL(this.getDocumentBase(), audioURL);
         clip = context.getAudioClip(url);
      }catch(MalformedURLException e)
      {
         e.printStackTrace();
         context.showStatus("Could not load audio file!");
      }
   }
   public void start()
   {
      if(clip != null)
      {
         clip.loop();
      }
   }
   public void stop()
   {
      if(clip != null)
      {
         clip.stop();
      }
   }
}

Следующий апплет вызова:

<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="0" height="0">
<param name="audio" value="test.wav">
</applet>
<hr>

Вы можете использовать test.wav на вашем компьютере, чтобы проверить приведенные выше примеры.