Re:Ajuda com JTextField e evento

7 respostas
Javabuntu

vc usa uma variável pra receber o valor e realizar os cálculos, depois vc coloca a variável do JTextField recebendo este valor, é só uma transferência muito simples.
Post seu código que a ajuda sai mais direcionada…

7 Respostas

W

bom nao intendi direito oque vc fez ai, deixando como origem do evento o JTextField, mas eu sou noob, quanto ao erro que vc diz eh porque vc formata a saida pra uma variavel int , invez de String utilizada…
System.out.format(“Fahrenheit para Celcius: %d”, event.getActionCommand());

tente trocar o %d pelo %s

System.out.format(“Fahrenheit para Celcius: %s”, event.getActionCommand());

eu nao sei que informacao vai gerar ai, so sei que o getActionCommand() retorna um valor do tipo String //

/* eu faria um evento disparado por um botao conversor , calculcaria a conversao e jogaria em alguma variavel, depois atribuiria ao JTexfField atras de um .setText(variavel)

neohacker
Dica: por cima assim nem olhei o seu código, mas vc precisa resolver uma conta e coloca-la num JTextField correto  :?:

o resultado será um int ou um double correto  :?:

então vc precisa transformar esse valor para String, vc pode usar o método

String.valueOf(resultado);

ou genericamente pensando na resolução

textfield.setText(String.valueOf(x + y));

tomara que de certo

W

bom pelo que intendi voce quer isso aqui:
int resultado // variavel que vc vai usar pra fazer os calculos
JTextField tela = new JTextField();

resultado = Integer.parseInt(tela.getText());

// aconselho deixar dentro de um tratamento pra caso alguem digite letras no campo -.-

void Calcula()

{

try {

resultado = Integer.parseInt(tela.getText());

}

catch (NumberFormatException e) {

// TODO: handle exception

System.out.println(e);

}

/* isso transforma o texto em string para int, e repassa para a variavel . caso voce utilize double para fazer seus calculos, ai pode usar o Double.parseDouble(tela.getText));

se der algum erro no teu parse double usa o caminho completo
java.lang.Double.parseDouble(tela.getText());

aqui deu erro ai tive que fazer assim mas e frescura do meu eclipse mesmo :stuck_out_tongue: */

Filipe_Cruz

Olá pessoal…

como eu fasso pra fazer uma ou qualquer colta matemática com o resultado do conteúdo que colocar em um textfield… ñ estou conseguindo fazer isso… tentei mas acho que deve ter que converter alguma coisa para alguma outra coisa ou chamar algum método, cujos quais ñ estou encontrando e compreedendo… ai optei por tentar fazer com JOptionPane mesmo…

vces poderiam me dar alguma dica de como fazer isso ?..

valew…

Filipe_Cruz

segue o codigo…

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;


public class Convercao extends JFrame{
	
	private JTextField text;
	private JLabel label;
	
	public Convercao(){
		
		super("Converção de Temperaturas");
		setLayout(new FlowLayout());
		
		label = new JLabel("Fahenrant para Celcius: ");
		add(label);
		
		text = new JTextField(5);
		add(text);
		
		ConvercaoHandler handler = new ConvercaoHandler();
		text.addActionListener(handler);
		
		
	}
	
	private class ConvercaoHandler implements ActionListener{
		
		
		
		public void actionPerformed(ActionEvent event){
		
			//JLabel la = new JLabel();
			double fahrenheit;
			int aux =0;
			String string = "";
			
			if(event.getSource() == text)
				fahrenheit =(double) 5 / 9 *( ?  - 32);	
					System.out.format("Fahrenheit para Celcius: %d");
			
		}
		
	}


}

[nota] o codigo ñ está completo… o problema está em calcular co conteudo inserido no textfield com esse calculo… ("?").

Filipe_Cruz

WillyKocher:
bom nao intendi direito oque vc fez ai, deixando como origem do evento o JTextField, mas eu sou noob, quanto ao erro que vc diz eh porque vc formata a saida pra uma variavel int , invez de String utilizada…
System.out.format(“Fahrenheit para Celcius: %d”, event.getActionCommand());

tente trocar o %d pelo %s

System.out.format(“Fahrenheit para Celcius: %s”, event.getActionCommand());

eu nao sei que informacao vai gerar ai, so sei que o getActionCommand() retorna um valor do tipo String //

/* eu faria um evento disparado por um botao conversor , calculcaria a conversao e jogaria em alguma variavel, depois atribuiria ao JTexfField atras de um .setText(variavel)

eu sei que isso vai gerar um erro, mas a pergunta foi…

como eu fasso pra fazer uma ou qualquer colta matemática com o resultado do conteúdo que colocar em um textfield… ñ estou conseguindo fazer isso… tentei mas acho que deve ter que converter alguma coisa para alguma outra coisa ou chamar algum método, cujos quais ñ estou encontrando e compreedendo… ai optei por tentar fazer com JOptionPane mesmo…

vces poderiam me dar alguma dica de como fazer isso ?..

Filipe_Cruz
<blockquote><div class="quote-author">neohacker:</div>Dica: por cima assim nem olhei o seu código, mas vc precisa resolver uma conta e coloca-la num JTextField correto  :?:

o resultado será um int ou um double correto  :?:

então vc precisa transformar esse valor para String, vc pode usar o método

String.valueOf(resultado);

ou genericamente pensando na resolução

textfield.setText(String.valueOf(x + y));

tomara que de certo

8)

valew kra pela sua explicação,… mas o problema eh que … por exemplo eu insira via textfield um numero 45ºF (f = fahrenheit) e convertelo para Celcius…
eu fiz a formula mas como eu pego 45 inserido no textfield e coloco na formula para calcular… ?

Criado 25 de abril de 2007
Ultima resposta 25 de abr. de 2007
Respostas 7
Participantes 4