JTextField

9 respostas
M

Blz?

Então estou com um problema, tenho um campo JTextField e tenho 3 botões com valores “1”, “2” e “3”.
Clicando no botão com o método:

if(valorDigitado.equals("1")) { text.setText("1");
…eu consegui fazer ele imprimir o valor do botão apertado no campo, só que, se eu apertar o 2 é óbvio que ele irá substituir o valor no campo pelo valor do botão dois. Mas eu queria fazer com que ele mantenha, por exemplo se eu apertar 1,2,3,3,2,1 , ele tenha com saída no campo texto 123321.

Aguardo,

abçs.

9 Respostas

Ratao

Tenta assim:

seuJtextField.getText().concat("String desejada");
M

Ratao:
Tenta assim:

seuJtextField.getText().concat("String desejada");

Ainda está com o mesmo resultado…

if(valorDigitado.equals("1")) {
	    text.getText().concat("1");
		text.setText("1");
Ratao

Logicamente, pois, após você concatenar o valor, você está setando outro, que no caso substitui o existente. Tira essa linha 3 aí.

M

…mas essa é minha dúvida, se eu inverter da no mesmo:

if(valorDigitado.equals("1")) {
	 	text.setText("1");
	    text.getText().concat("1");

Se eu remover a linha do método set concorda que não vai imprimir nada? Acho que deu pra sacar,

= calculadora, acho que com esse exemplo fica mais facil.

Ratao

…mas essa é minha dúvida, se eu inverter da no mesmo:

if(valorDigitado.equals("1")) {
	 	text.setText("1");
	    text.getText().concat("1");

Se eu remover a linha do método set concorda que não vai imprimir nada? Acho que deu pra sacar,

= calculadora, acho que com esse exemplo fica mais facil.

Tenta assim:

if(valorDigitado.equals("1")) {
	if(text.getText().equals("")){
            text.setText("1");  
        }else{
           text.getText().concat("1");
        }

Porém, vc pode sim tirar o “setText()”, pois mesmo se estiver vazio o JTextField, vc vai estar concatenando “” + “1”, que daria um resultado “1”.

M

Agora ele não imprime o 1 no campo texto.

Concordo, mas na minha necessidade preciso fazer também com que aparece na tela o resultado.

Ratao

Posta seu método.

E

Ratao:
Tenta assim:

seuJtextField.getText().concat("String desejada");

Acho q nesse caso nao eh preciso usar o método concat, pois eh necessário ler o conteúdo do JTextField e ai setar concatendo com a nova string.
Portanto desse modo vai atender:

text.setText(text.getText() + "sua string");

Att.

Everton Barros

M

Desse jeito funcionou pereitamente!

text.setText(text.getText() + "1");

Vlw!!! abçs.

Criado 17 de março de 2008
Ultima resposta 18 de mar. de 2008
Respostas 9
Participantes 3