Ao contrário das aplicações Java, a execução de um applet em uma página não é iniciada pelo método main(). Um applet é executado como uma thread subordinada ao navegador (ou à aplicação appletviewer, presente no ambiente de desenvolvimento Java). O navegador será responsável por invocar os métodos da classe Applet que controlam a execução de um applet.
Quando o applet é carregado pela primeira vez pelo navegador, o método init() é invocado pelo navegador. Esse método pode ser considerado funcionalmente equivalente ao método construtor em aplicações, pois será apenas executado no momento em que o código for carregado.
Após o carregamento do applet para a máquina local e a
execução do método init()
, o método
start() é invocado. Esse método será invocado também a
cada vez que a área do applet torna-se visível no
navegador, dando reínicio a operações que eventualmente tenham
sido paralisadas pelo método stop()
.
O método stop() é invocado cada vez que o
applet torna-se temporariamente invisível, ou seja, que
sua área não esteja visível no navegador. É uma forma de evitar
que operações que demandem muita CPU continuem a executar
desnecessariamente. Também é invocado imediatamente antes de
destroy()
, que é invocado quando o applet
está para ser eliminado do navegador. Este método serve para
liberar recursos -- além de memória -- que o applet
tenha eventualmente alocado para sua execução.
Esse exemplo ilustra a definição de um applet que implementa apenas esses quatro métodos. Quando carregada em um navegador Web, a página que referencia esse código apresenta apenas uma área vazia; porém, se o console Java do navegador for aberto, será possível visualizar as mensagens:
Sendo um componente gráfico do tipo container, todas as funcionalidades descritas para o desenvolvimento de aplicações gráficas aplicam-se a applets. Por exemplo, é possível que um applet apresente formas geométricas em seu contexto gráfico usando o método paint() ou incluir componentes de interface com usuário e tratar a manipulação de eventos.
Alguns métodos da classe Applet permitem a comunicação do applet com o navegador no qual ele está inserido. O método getParameter() permite a passagem de parâmetros do navegador para o applet. O método showStatus() exibe uma mensagem na linha de status do navegador que executa o applet. O método getAppletContext() permite obter o contexto de execução do applet, o que permite por exemplo estabelecer a comunicação entre dois applets de uma mesma página.
Como código de um applet é obtido através de uma conexão remota, sua execução está restrita aos princípios de segurança impostos por Java para a execução de código em ambientes distribuídos. Tipicamente, um applet não pode acessar arquivos e informações do ambiente onde está executando nem pode estabelecer conexões remotas com outras máquinas (a não ser aquela de onde o próprio código foi obtido).