Configurando botões... Dúvidas

1 resposta
D

Bem galera andei pesquizando sobre o pacóte gráfico do Java… E sobre botões achei o seguinte exemplo:

btnExibir.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ev){

try{

btnExibirClick(ev);      	}

catch(Exception e){

OptionPane.showMessageDialog(null, e.getMessage()); 	}

}

});

}
private void btnExibirClick(ActionEvent ev) throws Exception{

int num=0;

try{

num = Integer.parseInt(txtExibir.getText());

}

catch(Exception e){

JOptionPane.showMessageDialog(null, Você deve digitar um numero);

return;    		

}

if(num < 0)

throw new Exception(Numero deve ser maior do que zero);

txtExibir2.setText(Integer.toString(num*num));

}

OBRIGATÓRIAMENTE EU TENHO Q USAR ESTES 2 MÉTODOS? ALGUÉM PODE DESCREVER PRA MIM O Q SIGNIFICA ESTE CÓDIGO PASSO A PASSO?

1 Resposta

W

Olha com certeza tinha um campo JTextField ou algum JOptionPane.showInputDialog para ela digitar um número e precionar o botão.

mas vamos entender esse código:

btnExibir.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev){ try{ btnExibirClick(ev); } catch(Exception e){ OptionPane.showMessageDialog(null, e.getMessage()); } } }); }

O botão “btnExibir” recebe um evento(ActionListener), para quando a pessoa clicar executar tais comandos.
A ação que o botão irá fazer é:

try{ btnExibirClick(ev); } catch(Exception e) { OptionPane.showMessageDialog(null, e.getMessage()); } }
Tente executar o método “bntExibirClick()” ao clicar, caso contrário “catch(Exception e)”, Exiba a mensagem com o erro “OptionPane.showMessageDialog(null, e.getMessage());”

A programação pode ser variada da forma que você quiser. ele poderia ter feito o evento com o codigo todo dentro do evento do botão em vez de ter feito um metodo privado.

Vejamos o que o método “bntExibirClick()” faz:

private void btnExibirClick(ActionEvent ev) throws Exception{ int num=0; try{ num = Integer.parseInt(txtExibir.getText()); } catch(Exception e){ JOptionPane.showMessageDialog(null, "Você deve digitar um numero"); return; } if(num < 0) throw new Exception("Numero deve ser maior do que zero"); txtExibir2.setText(Integer.toString(num*num)); }
Este método simplismente pega o numero digitado e inseri na variável “num”. veja aonde:

num = Integer.parseInt(txtExibir.getText());

So que ele repete o comando try, catch…
tente alocar o numero digitado no “num”…
senão Exiba a mensagem:

JOptionPane.showMessageDialog(null, "Você deve digitar um numero"); e retorna nada para o evento principal.

agora ele verifica se o numero é menor que zero. se for, ele cria uma exceção dizendo que o numero deve ser maior que zero.

e por ultimo “txtExibir2” deve ser um JTextField, pode ser outra coisa, mas explicarei pelo que entendi.
Ele ta setando o texto -> transformando o numero inteiro em String -> “num * num”


Espero ter ajudado, caso não tenha entendido alguma parte de minha explicação… Fale qual parte não tenha entendido.

“me corrijam se eu estiver errado em alguma parte.”

Criado 19 de junho de 2007
Ultima resposta 20 de jun. de 2007
Respostas 1
Participantes 2