Java Wiki

A Java applet is an applet delivered in the form of Java bytecode. Java applets can run in a Web browser using a Java Virtual Machine (JVM), or in Sun's AppletViewer, a stand-alone tool for testing applets. Java applets were introduced in the first version of the Java language in 1995. Java applets are usually written in the Java programming language but they can also be written in other languages that compile to Java bytecode such as Jython. Applets are used to provide interactive features to web applications that cannot be provided by HTML. Since Java's bytecode is platform independent, Java applets can be executed by browsers for many platforms, including Windows, Unix, Mac OS and Linux.There are open source tools like applet2app which can be used to convert an applet to a stand alone Java application/windows executable/linux executable. This has the advantage of running a Java applet in offline mode without the need for internet browser software.

Technical Informaton[]

Java applets are executed in a sandbox by most web browsers, preventing them from accessing local data. The code of the applet is downloaded from a web server and the browser either embeds the applet into a web page or opens a new window showing the applet's user interface. The applet can be displayed on the web page by making use of the deprecated applet HTML element [1], or the recommended object element [2]. This specifies the applet's source and the applet's location statistics. A Java applet extends the class java.applet.Applet, or in the case of a Swing applet, javax.swing.JApplet. The class must override methods from the applet class to set up a user interface inside itself (Applet is a descendant of Panel which is a descendant of Container).

Advantages of Applets[]

A Java applet can have any or all of the following advantages:

  • it is simple to make it work on Linux, Windows and Mac OS i.e. to make it cross platform
  • the same applet can work on "all" installed versions of Java at the same time, rather than just the latest plug-in version only. However, if an applet requires a later version of the JRE the client will be forced to wait during the large download.
  • it runs in a sandbox, so the user does not need to trust the code, so it can work without security approval
  • it is supported by most web browsers
  • it will cache in most web browsers, so will be quick to load when returning to a web page but may get stuck in the cache and have issues when new versions come out.
  • it can have full access to the machine it is running on if the user agrees
  • it can improve with use: after a first applet is run, the JVM is already running and starts quickly, benefitting regular users of Java but the JVM will need to restart each time the browser starts fresh.
  • it can run at a comparable (but generally slower) speed to other compiled languages such as C++
  • it can be a real time application
  • it can move the work from the server to the client, making a web solution more scalable with the number of users/clients

Disadvantages of Applets[]

A Java applet is open to any of the following disadvantages:

  • it requires the Java plug-in, which isn't available by default on all web browsers.

an implementation of the the Sun Java plug-in does not exist for 64-bit processors.1

  • it can not start until the Java Virtual Machine is running, and this may have significant startup time the first time it is used.
  • it is considered more difficult to build and design a good user interface with applets than with HTML-based technologies.
  • if untrusted, it has severely limited access to the user's system - in particular having no direct access to the client's disk or clipboard.
  • some organizations only allow software installed by the administrators. As a result, many users cannot view applets by default.

applets may require a specific JRE.

See Also[]

Java Web Start

Java Applets Examples

Documentation icon Template documentation
Note: parts of or the entire template might not be visible without values provided.
Use this on pages which directly use Wikipedia content.
Type {{wikipedia|page name}} as the last item of the page text.
Note that "page name" should be the title of the page on Wikipedia.