Java Applet
![]()
In java, for dynamic content generation, a special type of program is made to be embedded with the web page and this program is termed an applet. We can also define an applet as a class in java. The life cycle of the applet is the process in which an object of Java is created, initiated, ended, and destroyed in its whole execution cycle in an application. There are five main methods in the applet life cycle. These are: init(), start(), stop(), paint() and destroy(). These methods are invoked for execution.
- An applet is also a class Java which is created by extending the class java.applet.Applet.
- the main() method is not defined inside an applet means in an applet there is no invocation of the main().
- Applets are created to be embedded with an HTML page
- The applet code is downloaded to the local machine of the user when the web page containing an applet is viewed by the user.
- For execution and for viewing an applet, JVM is required. The JVM creates object instances on the local machine of the user and then the JVM invokes the various methods during an applet life cycle.
What are the Types of Applets in Java?
Two types of the applet are available in java. These are:
- Local applet
- Remote applet
Local Applet
Local applets are allowed to be written on their own and then embedded into the web pages. It is stored in the local system or machine as it is developed on a local level. The local applet does not allow the web page to access data through the internet. In place of that, it is only specified by the local pathname or filename. Two specific attributes are used for describing the applet in java. The first attribute contains the code that represents the name of the path and the second attribute represents the code that has the filename that contains the code of the applet.
Remote Applet
The remote applet is not developed by the java team. Instead of that, remote applets are designed and developed by another developer. It is located on a computer that is remotely available and must have a connection to the internet. The system must have an internet connection for downloading and running the applet program stored in the remote system. The loading of the remote Applet requires the URL (Uniform Resource Locator) i.e applet address on the web page.
How Do Applet Life-Cycle Methods Work in Java?
All the management of the life cycle of the applet is done by the plugin software present in java. Its execution can be done in any browser. And the client side of an application requires it to work. There is no involvement of any main() method as it executes on the browser. So, it is mainly designed for HTML pages.
The start(), init(), stop(), and destroy() methods of the apple life cycle belong to the applet.Applet class and paint() method of the applet life cycle belongs to the awt.Component class.
The applet class is required to be extended for the creation of the normal class to be an applet class.
When there is a creation of any applet class, then its instances are created automatically and permit us to access all the available methods of the class. The applet can be automatically invoked by the browser and there is no requirement to call methods explicitly, also there is no need of declaring the constructors multiple times to make it overload.
Method 1: init() method:
- init() is the first method called in the life cycle
- Initialization of all the variables is done here.
- During run time, init() is called once only.
- Its invocation is done at the initialization time.
Syntax of init() method of applet life cycle
Method 2: start() method
- start() method is called after calling the init() method
- This method is called for starting an applet.
- If the applet is stopped, then also this method is called for the applet restarting
Syntax of start() method of applet life cycle
Method 3: paint() method
- To paint different shapes such as rectangles, squares, etc, we use this method.
- The painting feature is enabled in the applet by the graphics class type passed as an argument.
- The graphics context is included in the graphics class argument which displays the applet output
Syntax of paint() method of applet life cycle
Method 4: stop() method
- When the browser stops working, minimizes or any abrupt failure is found in the application, then this method is invoked.
- Mostly, the start method can be implemented after the stop method.
Syntax of stop() method of applet life cycle
Method 5: destroy() method
- This method is invoked once only and invoked to destroy an application when we are done with the work of an applet.
- Applets can not be restored after destroying them.
- When the environment finds that the applet is required to be removed completely from the memory then this method is called.
Syntax of destroy() method of applet life cycle
Example1 :
Below is a simple code implementation of an applet in java for a better understanding of an applet
The file in which the above code is written is save that file in the local machine with the name AppletExample.java
The above written code in the file and that file must be saved as AppletHtmlPage.html
Type the below-given command for program execution and compilation
Explanation: As soon as the program execution starts, a window with the red background color pops up on the screen and on that screen a string “Hello!! Welcome to our applet” with the green color displayed.
Example 2
Below is a code implementation for a better understanding of the life cycle methods of a java applet.
Explanation: As soon as program execution starts, a pop window appears and every applet class is created. Due to this, the init() method of the java applet life cycle is invoked and performs the work defined inside the init() method. It set the background color of an applet to red and displays the message “init() method of an applet life cycle is invoked”. After that, the start() method is invoked and displays a message “start() method of an applet life cycle is invoked”.
After that “paint() method of an applet life cycle is invoked” is displayed due to the invocation of paint() method of an applet life cycle. The stop() method is invoked when the user clicks the minimize button and then the start() method is invoked for window restarting after minimizing it and at the time of closing of the window, for window closing destroy() method of an applet life cycle is invoked.
Conclusion
In conclusion, understanding the Applet life cycle methods in Java is crucial for developing Java applets. These methods provide a framework for the applet to be initialized, started, stopped, and destroyed. By implementing these methods correctly, developers can ensure that their applets are properly initialized and executed, leading to a better user experience. Furthermore, knowing how to properly use these methods can help prevent memory leaks and improve the overall performance of the applet. It is essential for developers to have a strong understanding of the Applet life cycle methods to create functional and efficient Java applets.
Что такое апплеты в java
Java Applet is a special type of small Java program embedded in the webpage to generate dynamic content. The specialty of the Java applet is it runs inside the browser and works on the Client side (User interface side).
Note:
Applets, which are small programs that can be run inside a web page, are no longer widely used on the web. Therefore, this package has been deprecated in Java 9 and later versions and is no longer recommended for use. It’s expected that this package will be removed in future versions of the language.
Java Applet Class
For Creating any applet in Java, we use the java.applet.Applet class. It has four Methods in its Life Cycle of Java Applet. The applet can be executed using the applet viewer utility provided by JDK. A Java Applet was created using the Applet class, i.e., part of the java.applet package.
The Applet class provides a standard interface between applets and their environment. The Applet class is the superclass of an applet that is embedded in a Web page or viewed by the Java Applet Viewer. The Java applet class gives several useful methods to give you complete control over the running of an Applet. Like initializing and destroying an applet, It also provides ways that load and display Web Colourful images and methods that load and play audio and Videos Clips and Cinematic Videos.
In Java, there are two types of Applet
- Java Applets based on the AWT(Abstract Window Toolkit) packages by extending its Applet class
- Java Applets is based on the Swing package by extending its JApplet Class in it.
Now We See The Life Cycle of an Applet and its Methods-
How to run an Applet?
There are two ways to execute a Java Applet:
- By using an HTML file
- By using the appletviewer tool
Life Cycle Of java Applet Class
Life Cycle Of java Applet Class has four main methods in it-
- init()
- Start()
- Stop()
- Destroy()
Explanation:
1. void init(): This init() method is the first method of a java applet. This is used to initialize the applet when the applet begins to execute
2. void start(): void start() this method is called automatically after the init() method, and it is used to start the Applet and to implementation of an applet
3. void stop(): void stop() is used to stop the Applet or to stop the running applet
4. void destroy(): void destroy() is used to destroy the Applet / to Terminate the applet.
Other Methods in Applet Class:
5. System.out.println(String): This Method Works from appletviewer, as not from browsers, and it Automatically opens an Output window.
6. ShowStatus(String): This Method Displays the String in the Applet’s status line, and each call overwrites the previous call, and You have to allow time to read the line.
7. String getParameter(String ParameterName): It Returns the value of a parameter defined in a Current Applet.
8. Image getImage(URL url): This method returns an Image object which contains an image specified at its location, url.
9. void play(URL url): This method can play an audio clip found at the specified location, url.
10. setStub: It sets this applet’s stub, which is done automatically by the system.
11. isActive: This method Determines if this current applet is active. Then Applet is marked active just before its start method is invoked. Then It becomes inactive immediately after its stop method when it is initialized.
Constructor Of Applet Class
The Applet class is just like any other class as an Applet Constructor is simply the subclass constructor of the Applet class. Therefore, Because the applet constructor is just like or any other constructor, it cannot be overridden, so Constructors perform any Necessary initialization for the new object or Create the new Object for it.
Applet() – It Constructs a new Applet.
Example of Applet: The Applet program using appletviewer-
Апплеты в Джаве

Джава – популярный язык программирования с открытым исходным кодом. Имеет общее назначение, подходит для создания программного обеспечения самых разных видов.
Преимуществом Java является его синтаксис. Отдельное внимание стоит уделить апплетам в Джаве. Они пригодятся тем, кто планирует заниматься веб-разработкой на соответствующем языке программирования. Далее в статье речь зайдет об апплетах и их применении.
Определение
Апплет – программа Java, которая запускается в интернет-обозревателе. Может выступать в качестве функционального Джава-приложения, так как предусматривает весь прикладной программный интерфейс ЯП.
Пишется апплет в виде байт-кода. Обрабатываются виртуальными Java машинами в браузере перед реализацией. Присутствуют в упомянутом языке с 1995 года. Обычно соответствующие компоненты пишутся на Java и иных языках, компилируемых в байт-коды.
Простыми словами: applets – это веб-приложения для браузеров.
Отличие от полноценного приложения
Программа и апплет – это не одно и то же. Данные компоненты схожи между собой, но у них есть значительные отличия. К ним относят следующие моменты:
- Апплет – это своеобразный Джава-класс. Он расширяет java.applet.Applet.
- В данном компоненте не предусматривается вызов методы main(). Соответствующий класс его не определяет.
- Динамические программы сетевого типа необходимы для того, чтобы их внедряли в HTML-странички.
- Когда пользователь изучает HTML-страницы с applets, происходит загрузка упомянутого компонента на устройство.
- Для того, чтобы изучаемый элемент корректно отображался, необходимо наличие виртуальной машины Java. Она может быть как подключаемым модулем, так и самостоятельной средой.
- При работе виртуальная машина создаст на устройстве экземпляр класса Апплет в Java. Далее она вызывает методы на протяжении всего жизненного цикла изучаемого элемента.
- Наличие строгих правил безопасности, соблюдаемых интернет-обозревателем. Простыми словами – applets хорошо защищены.
Также стоит обратить внимание на то, что другие классы, необходимые апплетам в Java, будут загружаться одним файлом архива.
О жизненном цикле
Класс Applet предусматривает несколько ключевых методов. Они служат основой для создания более сложных и совершенных апплетов:
- Init. Метод, который нужен для инициализации компонентов. Он будет вызываться после того, как пройдет стадия обработки тегов внутри рассматриваемого элемента.
- Start. Вызывается автоматически. Это происходит после того, как браузер использует предыдущий «шаг». Start – метод, который будет каждый раз вызываться, когда пользователь возвращается на страницу, содержащую аплеты.
- Stop. Активируется при закрытии страницы с апплетом на Java. Предусматривается повторный вызов этой команды в пределах одного и того же applet.
- Destroy. Будет вызываться каждый раз, когда происходит обычное завершение работы интернет-обозревателя. Рекомендуется избавляться от всех ресурсов после того, как клиент покинет ту или иную страничку.
Есть еще метод paint. Он начинает работать сразу после того, как обработается start(). Активируется при необходимости апплета в Java рисовать разнообразные образы. Это – фактический наследник java.awt.
Класс Applet
Каждый рассматриваемый компонент – это расширение класса java.applet.Applet. Базовый класс Applet дает доступ к методам, которые его производный класс будет вызывать для получения информации и служб из интернет-обозревателя.
Сюда можно отнести методы, которые получают:
- параметры «динамического приложения»;
- сетевое расположение документа HTML;
- местоположение каталога классов апплетов Java;
- картинки и изображения;
- медиафайлы (примеры – клипы, видео).
Также к данной категории относят методы, выводящие статусные сообщения в браузерах, корректируют размеры applets.
Соответствующий класс предоставляет интерфейс, который позволяет средству просмотра или браузера получить данные об applet. Далее – управляем непосредственной реализацией.
- запрашивать сведения об авторах, версиях и авторских правах рассматриваемого «объекта»;
- устанавливать и удалять applets;
- запрашивать параметры, распознающие динамическое приложение;
- прекращать работу «утилиты»;
- запускать applets.
Соответствующий класс дает возможность по умолчанию реализовывать каждый предложенный метод. По мере надобности они отменяются.
Пример
Чтобы лучше разобраться в выбранном направлении, рекомендуется рассмотреть наглядные примеры. Вот – динамическое приложение со стандартным названием «Привет, Мир!»:
public class HelloWorldApplet extends Applet <
public void paint (Graphics g) <
g.drawString («Привет, Мир», 25, 50);
Имеющиеся операторы переносят классы в область действия класса Applet. Без них компилятор языка программирование не смог бы распознать классы Applet и Graphics.
Как вызвать
Вызов динамической программы возможен через:
- встраивание директив в HTML-документ;
- просмотром файла через программу просмотра апплетов (можно использовать браузер с поддержкой Java).
Тег <applet> — основа для встраивания динамического приложения в веб-документы. Ниже – example вызова Hello, World:
Здесь стоит обратить внимание на следующее:
- Атрибут applet code обязателен. Речь идет об <applet>. Он нужен для того, чтобы определить запускаемый класс. Ширина и высота указываются для начального размера панели активации приложения. Директивы апплетов обязательно закрываются тегом </applet>.
- Если апплет будет принимать те или иные параметры, для них можно задать значения. Для этого используются теги < param name>.
- Если интернет-обозреватель не поддерживает Java, апплеты в нем не будут обрабатываться. Все, что написано между соответствующими тегами в коде, пропускается.
После запуска динамического приложения браузер или иное средство просмотра будет искать скомпилированный код там, где расположен документ. А если соответствующий компонент располагается за пределами пакета «по умолчанию», он должен быть указан в атрибуте исходного кода. Для этого используется символ «точка» при разделении элементов класса/пакета.
Выше – примеры соответствующих кодов.
Работа с параметрами
Апплет можно заставить реагировать на параметры настройки, которые указаны в исходном документе. А еще – определить их при необходимости.
Получение
Приведенный далее пример – это отображение узора шахматной доски. Первый цвет – черный. Второй – указывается в виде параметров динамического приложения.
- CheckerApplet получает параметры в init(). Он может приобретать их через paint(), но первые вариант – основной. Он более удобный и эффективный.
- Браузер будет вызывать init() для каждого апплета, который им вызывается. Программа просмотра делает это один раз – после непосредственной загрузки динамического приложения. Applet.init() не будет выполнять какие-либо функции. Чтобы пользоваться кодом инициализации, нужно предопределить реализацию по умолчанию.
- Applet.getParameter() будет выбирать параметр от имени параметра. Его значение представляется числовыми, а также иными небуквенными данными. Строчка должна быть проанализирована.
Следующим образом выглядит метод CheckerApplet’s init(), а также частный метод parseSquareSize:
Динамическая программа вызовет частный метод для того, чтобы проанализировать одноименный параметр. Далее происходит обращение к библиотечному методу Integer.parseint(). После «просмотра» строки он вернет целочисленное значение. Исключение появляется каждый раз, когда обнаруживается недопустимый аргумент.
ParseSquareSize() будет перехватывать исключения. При неверном коде апплет не останавливается. Она продолжает функционировать.
Далее динамическая программа вызовет parseColor(). Это нужно для анализа параметра цвета в значение. Процесс заключается в выполнении серии сравнений строк для сопоставления информации. Это требуется для обеспечения работоспособности апплета.
Определение
Example получения параметров был рассмотрен выше. Также можно определять «значения» самостоятельно. Вот – пример кода, имеющего встроенный CheckerApplet:
Имена параметров составлять просто. Апплеты не учитывают регистр при «считывании».
Преобразование приложения
Апплет может быть получен из любого графического приложения Java. Для этого потребуется выполнить следующее:
- Создать HTML-страничку с тегом для предстоящей загрузки. Простыми словами – составить программный код.
- Предоставить подкласс класса JApplet. Он должен быть общедоступным, иначе апплет не загрузится.
- Исключить основной метод в приложении. Рамочное окно для программы не потребуется. Это связано с его отображением в интернет-обозревателе.
- Поместить любой код инициализации из конструктора рамочного окошка в метод инициализации апплета Java. Его объект создавать не придется. Браузер выполнит это автоматически.
- Избавиться от вызова setSize.
- Удалить вызов setDefaultCloseOperation. Динамическая сетевая программа не может быть закрыта. Она завершается тогда, когда пользователь закрывает браузер.
- Если applet code вызывает setTitle, нужно его исключить. Заголовков у динамических программ нет.
Также не нужно вызывать метод setVisible(true). Это связано с тем, что динамические сетевые программы будут отображаться автоматически.
Как быстро разобраться
Апплеты в Java – это не трудно, если грамотно изучить соответствующий компонент. Лучшее решение – дистанционные онлайн-курсы. На них пользователи узнают, что значит надписи public void start, public void init, public void stop и другие, не имея даже базовых навыков в сфере разработки.
На специальных онлайн-курсах быстро обучат инновационным IT-профессиям. Пользователю гарантируют тщательно продуманную программу, рассчитанную на срок до 12 месяцев, постоянное кураторство, а также практику и помощь в формировании портфолио. В конце обучения выдается электронный сертификат, подтверждающий навыки и знания в выбранном направлении.
Познаём Java. Вторая чашка: собираем классы в кучки. Пробуем апплеты
Как вы уже слышали, Java проектировалась с рассчётом на совместимость со всем, чем только можно. Такое ограничение вынудило разработчиков Java сделать её такой, чтобы максимально упростить развёртывание приложений, при этом обеспечив логическую стройность языка.
Как происходит загрузка классов?
Для того, чтобы найти класс по имени когда вы его вызываете, в Java существует стандартный загрузчик классов. Он оперирует понятием classpath. Список classpath — это набор путей, где следует искать файлы классов. Каждый classpath может указывать как на директорию, так и на так называемый jar-файл (зазипованная директория со скомпилированными .class’ами и разрешением .jar, типа «йА java-archive!»). По умолчанию в classpath входят файлы стандартных библиотек и директория, из которой вы вызвали саму Java. Именно таким образом был найден класс HelloWorld — java нашла файл HelloWorld.class и запустила в нём метод main. Собственно, так и работают большинство программ, даже самых сложных. Всё начинается с одного main’а…
Пакеты классов
Пакет (package) представляют собой набор классов, объединённых по смыслу. Пакеты обычно вкладываются друг в друга, образуя собо иерархию, дающую понять, что зачем. На файловой системе такая иерархия выглядит в виде вложенных друг в друга директорий с исходниками. Так, исходники пакета a лежат в папке a, исходники пакета a.b — в папке a/b и так далее. Типичный путь к пакету выглядит примерно так:
org.apache.commons.collectons . Видите, сразу ясно зачем он нужен. Чтобы использовать какой-то класс в коде другого класса, вы должны импортировать его, написав до объявления класса строку
import путь.к.классу.ИмяКласса;
Кроме того, если вы используете классы одного пакета часто, вы можете импортировать весь пакет:
import путь.к.классу.*;
Это относится ко всем пакетам, кроме java.lang — он импортирован по умолчанию, именно из него были в прошлом примере взяты классы System и String. На самом деле они лежат в некоем jar’е, в каталоге java/lang.
Что ж, теперь вы знаете как работает загрузчик классов. В реальных проектов количество classpath измеряется десятками, а то и сотнями.
Организация кода
Если вы пишете свои первые маленькие примерчики и вам лень создавать иерархию классов — пусть, это ваше право. Но помните, в серьёзном проекте вы всегда должны будете разложить свои классы по пакетам. Обычно корневые пакеты создаются такими, чтобы ясно давать понять кто автор кода, и к чему он относится.
Например:
ru.vasiapupkin.photomaker выбирается корневым пакетом
ru.vasiapupkin.photomaker.core сюда мы пишем классы отвечающие за логику
ru.vasiapupkin.photomaker.visual сюда, допустим, все наши окошки приложения
и так далее.
Чтобы создать класс
ru.vasiapupkin.photomaker.Starter
вы должны:
создать файл Starter.java в папке ru/vasiapupkin/photomaker/
прописать в нём первой строчкой (точнее говоря, до импортов)
package ru.vasiapupkin.photomaker;
Коллижн
«А что будет, если у нас будет два класса с одним именем?», — спросите вы. «Смотрите», — отвечу я.
Допустим вы решили что вы умнее джавы и создали свой класс строки — String. Но вот проблема, у нас же уже есть такой!
Значит, вам придётся положить свой класс в пакет, скажем ru.vp.stuff и обращаться к нему так: ru.vp.stuff.String.
Именно поэтому не рекомендуется класть классы прямо в корень classpath — таким образом вы роете себе дорогу к несовместимости, ведь Java требует, чтобы каждый класс определялся однозначно. Именно поэтому нельзя написать так:
import ru.vp.SuperClass;
import ru.mashka.SuperClass;
За это вас накажет компилятор, потому что он не будет знать, какой из них использовать.
Мораль: правильно выбирайте и имя класс и имя пакета.
Погоняем?
Давайте улучшим первое приложение. Эх, классика интернета… Создадим апплет.
Эх, может быть апплетами.
import java.applet.Applet ;
import java.awt.Graphics ;
public class HelloWorld extends Applet<
public void paint( Graphics g) <
g.drawString( «Hello World» ,15,15);
>
>
* This source code was highlighted with Source Code Highlighter .
Так, что у нас тут? Импортировано 2 класса, один из них — стандартный пустой апплет, который мы будем расширять. Второй — Graphics. Graphics — это понятие из библиотеки AWT. Кстати, небольшой экскурс. AWT (Abstract Window Toolkit) входил ещё в первую Java и был предназначен для многих задач, связанных в основном с отображением.
Так вот, объект типа Graphics позволяет нам рисовать на себе всякую муру типа строк, линий, кружочков и прочего. В данном примере мы написали строчку с отступом.
Метод paint здесь написан не от балды — он перекрывает аналогичный метод класса Applet, и когда java будет перерисовывать этот конкретный апплет, она вызовет этот метод.
Посмотреть на наш апплет достаточно просто — пишем небольшой HTML:
… а может приложением.
Давайте попробуем сделать HelloWorld в standalone-приложении.
import java.awt.* ;
import javax.swing.* ;
public class HelloWorld extends JFrame<
public static void main( String [] args) <
new HelloWorld();
>
<
add( new JLabel( «Hello world» ));
setSize(200,200);
setVisible( true );
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
>
>
* This source code was highlighted with Source Code Highlighter .
Здесь мы полностью импортируем основные классы пакетов Swing и AWT. Swing — более поздняя чем AWT библиотека, сейчас именно она обеспечивает отображение основной части графического интерфейса для Java-приложений.
Итак, в main мы просто создаём экземпляр класса HelloWorld.
Сейчас наш класс наследуется от класса JFrame. Это класс из Swing, он представляет собой окно, которое отображается пока не будет закрыто.
Блок <. >— это «общий конструктор». Он добавляется к любому конструктору нашего класса. Так как у нас нет ни одного — он добавляется к пустому конструктору без параметров, который создаётся на лету, если у класса нет ни одного.
Мы добавляем на окно новый объект типа JLabel (т.е. надпись), затем устанавливаем окну размеры и отображаем его. Последняя строчка нужна, чтобы выполнение приложения закончилось, когда будет закрыто окно. Таким образом, вы можете быть уверены что после закрытия окна у вас в памяти не останется висеть ваше приложение.
Запускать его нужно точно так же как и прошлое: пишем, компилируем, запускаем.
А может и сервлетами? Наверное, потом.
В этих двух статьях я постарался дать вам начальное представление о возможностях Java в общем. За рамками сегодняшней статьи (наверное, будут в завтрашней) остались сервлеты и прочие радости серверной части типа JSP-страниц, а также МИДлеты — приложения для мобилок. Я бы мог рассмотреть и то и то, но хотел бы знать, чего больше хотят читатели. Кроме того, возможно, нужно рассказать о самых основах языка. Примерно на том же уровне подробности, что и начало этой статьи. Напишите в комментариях, какую статью вы хотели бы видеть в следующий раз:
— классы и интерфейсы: ООП в джаве;
— буквы-цифры-строчки: работа с базовыми типами;
— создание оконных приложений с помощью Swing;
— от мала до велика: сервлеты, мидлеты и 2 слова о портлетах.
Когда отпишетесь — станет ясно, куда копать дальше. Всем спасибо за внимание.