Oi Pessoal.
Preciso da ajuda de voces. Estou estudando Java via “Como Programar em Java” do Deitel.
E eu estou com problemas em limpar minha JTextField. Eu vi aqui no forum que o pessoa coloca JTextField.setText(""); e dá certo , pois nao consegui fazer. Me ajudem por favor.
/* Applet que simula o lancamento de dois dados.
- Deve-se haver 36000 lancamentos.
- Use um vetor para contar o nro de vezes que cada soma possível aparece.
- Exiba o formato de texto numa JTextArea.
- Deve-se haver um JButton para permitir que o usuário do applet lance
- os dados mais de 36000 vezes.
*/
package exercicios_cap07;
//Pacotes de Nucleo
//Pacotes de Extensao
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Exercicio_15 extends JApplet implements ActionListener{
JTextArea tela;
JTextField txt1;
JButton botao;
String conteudo = "";
int soma, //recebe valor do metodo lancaDados()
vet[] = {2,3,4,5,6,7,8,9,10,11,12},
result[], //guarda ocorrencias de quantos vezes cada nro saiu
flag = 0;
boolean prijog = true;
public void init(){
Container quadro = getContentPane();
quadro.setLayout(new FlowLayout());
tela = new JTextArea(15,70);
txt1 = new JTextField(60);
quadro.add(txt1);
botao = new JButton ("Role os dados");
botao.addActionListener(this);
quadro.add(botao);
}
public void actionPerformed(ActionEvent e) {
result = new int[11];
//se não é a 1a vez q lanca os dados
if(flag == 1) prijog = false;
//1a vez que lança os dados
if(prijog){
for(int i=0; i<36; i++){ //os dados serao lancados 36000 vezes
contaNros();
}
mostraTudo();
flag = 1;
txt1.setText(conteudo);
}//fim if(prijog)
//se o usuario quiser lancar mais de 36000 vezes
if(!prijog) {
txt1.setText("");
// txt1.requestFocus();
contaNros();
mostraTudo();
txt1.setText(conteudo);
}
}
//metodo que mostra resultados obtidos
public void mostraTudo(){
for(int a=0; a<vet.length; a++){
conteudo += "Nro. "+vet[a]+": "+result[a]+" x " ;
}
}
//metodo que contabiliza quantas ocorrencias teve de cada soma
public void contaNros(){
soma = lancaDados();
for(int x = 0; x<vet.length; x++)
if(soma == vet[x]) result[x]++;
}
//metodo que lanca os dois dados e retorna a soma destes
public int lancaDados(){
int d1, d2;
d1 = 1 + (int)(Math.random()*6);
d2 = 1 + (int)(Math.random()*6);
return (d1+d2);
}
}//TERMINO CLASSE EXERCICIO_15