Applet Java

Un applet Java es un applet scribite in le linguage de programmation Java. Le applets de Java pote executar se in un navigator web usante le machina virtual Java (Java Virtual Machine, JVM), o in le AppletViewer de Sun. Les applets Java ont été abandonnées par Java 9 en 2017.

Inter lor characteristicas nos pote mentionar un schema de securitate qui permitte que le applets se executante in le computator non ha accesso al partes sensibile (per exemplo illo non pote scriber archivos), a minus de obtener le permissiones necessari in le systema; le disavantage de iste accostamento es que le livration de permissiones es embarassose pro le usator commun, e isto joca contra un del objectivos del applets Java: provider un forma facile de executar applicationes ab le navigator web.

In Java, un applet es un programma qui pote incrustar se in un documento HTML, in altere parolas, in un pagina web. Quando un navigator web carga un pagina web qui contine un applet, le applet es discargate in le navigator web e comencia a executar se. Isto permitte crear programmas le quales un qualcunque usator pote executar solmente in cargante le pagina web in su navigator web.

Le navigator web qui carga e executa le applet se cognosce in terminos generic como le "container" del applets. Le kit de disveloppamento de programmatura pro Java Standard Edition 7 (1.7.1 --Version le plus actual, ponite in marcha le 18 de octobre 2011) include un container de applets, appellate appletviewer, pro probar le applets ante incrustar lo in un pagina web.

 Avantages 
Le applets de Java usualmente ha le sequente avantages:
 Illos functiona in multe platteformas (functiona in Linux, Windows, Mac OS X, e in qualcunque systema de operation pro le qual il existe un Machina Virtual Java (JVM)). 
 Le mesme applet pote travaliar in "tote" le versiones de Java, e non solmente in le ultime version del extension. Totevia, si un applet require un version posterior del Ambiante de Execution Java (JRE), le cliente essera obligate de expectar durante de discargar le nove JRE.
 Illos es compatibile con le majoritate del navigatores web.
 Illos pote esser immagazinate in le cache del majoritate del navigatores web, de sorta que on lo cargara rapidemente quando on recargara le pagina web, ben que illos pote devenir remanente in le cache, causante problemas quando on publicara nove versiones.
 Illos pote haber accesso complete al machina in le qual illos es executante, si le usator lo permitte.
 Illos pote executar se a velocitates comparabile a lo de altere linguages compilate, como C++ (dependente del version del Machina Virtual Java).
 Illos pote mover le travalio del servitor al cliente, pro facer un solution web plus scalabile prendente in conto le numero de usatores o clientes.

 Disavantages 
Le applet Java usualmente ha le sequente disavantages:
 Illo require le extension de Java, qui non es disponibile in tote le navigatores web.
 Illo non pote initiar le execution ante que le Machina Virtual Java sia in functionamento, e isto pote prender tempore le prime vice que un applet se executa.
 Si illo non es signate como confidibile, illo ha un accesso limitate al systema del usator - in particular illo non ha accesso directe al disco dur del cliente o al deposito temporal in le memoria.
 Alcun organisationes solmente permitte le installation de programmatura al administratores. Como resultato, multe usatores (sin privilegios pro installar le extension in su navigator web) non pote vider le applets.
 Un applet poterea requirer un version specific del JRE.
 Illo pote haber vulnerabilitates qui permitte executar codice maliciose http://www.abc.es/tecnologia/20130115/abci-java-desactivar-problemas-201301151402.html.

 Differentias inter un application autonome e un applet 
Il existe differentias inter un programma autonome e un applet:
 Restrictiones de securitate: le applets es considerate codice de pauc confidentia  (al exception que illos porta un signatura digital) durante que illos es usate in commun per tote le usatores de Internet. Per exemplo, on non permitte le accesso al archivos local ni connecter se a un servitor distincte al qual le appletes allogiate.
 Un applet necessita un navigator web pro esser visualisate, o un visor de applets como appletviewer.
 Un applet non ha un methodo principal.

 Creation e execution de un applet 
 Crear un applet 
Pro crear un applet on necessita scriber un clave del classe Applet del pacchetto java.applet.*;

import java.applet.*;

public class MiApplet extends Applet
{
	//Corpore del ''applet''.
}

Le codice anterior declara un nove classe MiApplet qui heredita tote le capacitates del classe Applet de Java. Le resultato es un archivo MiApplet.java.

Un vice le classe, qui compone le applet, es create, on scribe le resto del codice e postea on lo compila, obteniente le archivo MiApplet.class. Pro poter crear le applet on necessita de compilar le codice Java.

import java.applet.*;
import java.awt.*;
import java.util.*;
import java.text.DateFormat;

public class MiApplet extends Applet implements Runnable
{
	private Thread filo = null;
	private Font fonte;
	private String horaActual = "00:00:00";

	public void init()
	{  
		fonte = new Font("Verdana", Font.BOLD, 24);
	}

	public void start()
	{
		if (filo == null)
		{
			filo = new Thread(this, "Horologio");
			filo.start();
		}
	}  

	public void run()
	{
		Thread filoActual = Thread.currentThread();
		while (filo == filoActual)
		{
			//obtener le hora actual
			Calendar cal = Calendar.getInstance();
			Date hora = cal.getTime();
			DateFormat df = DateFormat.getTimeInstance();
			horaActual = df.format(hora);
			repaint();
			try
			{
				Thread.sleep(1000);
			}
			catch (InterruptedException e){}
		}
	}  

	public void paint(Graphics g)
	{   
		//Delinear un rectangulo circa le container
		g.draw3DRect(1, 1, getSize().width-3, getSize().height-3, false);
		//Establir le Fonte
		g.setFont(fonte);
		//monstrar le Hora
		g.drawString(horaActual,14,40);
	}   

	public void stop()
	{   
		filo = null;
	}   
}

Si on usa le bibliotheca graphic Swing, on pote usar le classe JApplet de javax.swing in loco de Applet:

import javax.swing.*;

public class MiApplet extends JApplet
{
	//Corpore del ''applet''.
}

 Execution 
Pro insertar le applet in un pagina web, on usa le structura sequente:
LE NAVIGATORES WEB ACTUAL JAM NON PERMITTE EXECUTAR APPLETS
<etiquetta parametro = "valor"></etiquetta>

 Etiquetta <applet> 
Sequente le structura anterior, un exemplo de codice pro executar le applet esserea:

    <applet code="MiApplet.class" width="370" height="270"></applet>

On pote usar le attributos sequente:

AttributoDescriptionExemplocodebaseDirection ab ubi on pote discargar le classe de Java qui va cargar le applet, le URL del classe. Si on non lo specifica, essera le adresse actual del pagina web HTML.codebase="http://www.pagina.com/applet/"codeNomine del classe que on vole cargar in le applet. Le direction ubi illo se trova es relative al codebase. Si on non ha specificate codebase, illo es le mesme portafolio ubi es le pagina web HTML qui carga le applet.code="NomineClase.class"widthDimension in pixeles del largor.width=100heightDimension in pixeles del altitude.height=100altTexto qui se monstra ubi on deberea cargar le applet si le navigator web non permitte su carga.alt="Su navigator web non permitte cargar iste Applet"nameEstabli un nomine unic pro le applet.name="MiApplet"archiveEs un lista de classes, separate per commas, qui debe esser cargate in le cache del usator local ante poter executar se.archive="Clase1.class, Clase2.class, Clase3.class"hspaceEstabli le margines lateral in pixeles.hspace=25vspaceEstabli le margine superior e inferior in pixeles.vspace=25alignAlineation respecto a altere elementos.Valores: left, center, rigth, top, middle e bottomalign="center"mayscriptPermitte specificar si le applet pote haber accesso al codice JavaScriptNon ha valor associate. Si illo appare, illo se applica.

Intra le etiquetta <applet> il pote apparer le etiquetta <param> qui contine pares clave/valor, qui es legite per le programma Java, tante vices como on vole.

 Etiquetta <object> 
A partir del version 4.0 de HTML il se es considerate obsolete le uso del etiquetta <applet>, essente reimplaciate per <object>.

Iste etiquetta es compatibile con le navigatores web Microsoft Internet Explorer, Netscape 6 (e versiones superior) e Mozilla Firefox.

Illo possede multe del attributos de <applet>, essente le unic pro iste etiquetta:

AttributoDescriptionExemploclassidIdentificator del typo de objecto.Pro Java es: classid="clsid:CAFEEFAC-0014-0001-0000-ABCDEFFEDCBA"codebaseURL qui puncta super un archivo .cab in le rete del extension necessari pro poter executar le contento.codebase="Direction_del_installator_del_Machina_Virtual_Java"typeTypo de archivo qui va reproducer se usante le objecto.<param name="type" value="application/x-java-applet;jpi-version=1.5.0">

 Cyclo de vita 
Quando un applet se initia, le methodos sequente se appella in iste ordine:

 init: illo contine usualmente instructiones pro initialisar le applet.
 start: como init, illo se usa usualmente pro initialisar, sed con le differentia que iste methodo anque se appella quando un applet se reinitia.
 paint: illo se incarga de monstrar le contento del applet. Illo se executa cata vice que on debe redesignar.

Pro terminar o pausar le execution le methodos sequente se appella:
 stop: illo suspende le execution del programma. Illo se appella quando le applet deveni temporarimente invisibile.
 destroy: quando on non necessita plus le applet. On lo usa pro liberar ressourses.

 Vide etiam 
 ActiveX

 Referentias 

 Bibliographia 


 Ligamines externe 
  Sito official de Oracle

Categoria:Programmatura applicative
Categoria:Platteforma Java