No caso o this se refere à instância do próprio applet. O que acontece, é que você faz com que o applet seja um dos action listeners do botão especificado, adicionando a instância do applet ao botão, através do comando "btnLimpa.addActionListener(this)". 
 
Agora, o que você não deve é utilizar letras maiúsculas para representar variáveis (a não ser que elas sejam constantes), como está feito no código que você enviou.
----- Original Message -----
From: JSams
Sent: Saturday, October 19, 2002 12:01 AM
Subject: Re: [java-list] usando o this

cara...
hmmm...
 
bem... seria a instância (referência) do BtnOk?
nem sei direito...
 
mas acho q sim, pois senao teria de ser a instância (referência) do objeto q chamou o método
mas aí no caso seria algo bizarro como
 
    this.addActionListener(<nao sei o que veria aqui>)
 
é... vamo esperar ver o resto da galera responder também...
 
falow
 
 
----- Original Message -----
From: Cristiano
Sent: Thursday, October 17, 2002 10:22 PM
Subject: [java-list] usando o this

Ol´´a lista , se possivel gostaria de saber a funcao do this  neste caso:

BtnOk.addActionListener(this);

BtnLimpa.addActionListener(this);

 

Segue o applet abaixo:

// programa que calcula o fatorial de um numero

import java.applet.*;

import java.awt.event.*;

import java.awt.*;

public class Fatorial extends Applet

implements ActionListener{// transforma a classe em um receptor de evento

private int numero,factorial;

private TextField tfEntrada,tfSaida;

private Label lEntrada,lSaida;

private Button BtnOk,BtnLimpa;

public void init() {

add(lEntrada = new Label ("Digite um numero:"));

add(tfEntrada = new TextField(5));

add(lSaida = new Label ("Fatorial:"));

add(tfSaida = new TextField(6));

tfSaida.setEditable(false);

add(BtnOk = new Button ("Calcula"));

BtnOk.addActionListener(this);

add(BtnLimpa = new Button ("Limpa"));

BtnLimpa.addActionListener(this);

}

public void actionPerformed(ActionEvent e) {

if (e.getSource()==BtnOk){

numero=Integer.parseInt(tfEntrada.getText());

factorial=1;

for (int cont=numero;cont>=1;cont--)

factorial *= cont;

tfSaida.setText(Integer.toString(factorial));

} else if (e.getSource()==BtnLimpa){

tfEntrada.setText("");

tfSaida.setText("");

}

}

}

Responder a