Vários JTextField e várias informações

2 respostas
F

Caríssimos,

Estou fazendo um aplicativo que tem 2 TextField enfileirados e 10 JButtons (0 a 9). Eu quero o seguinte: Quando eu apertar o Button 1, por exemplo, quero que o número 1 apareça somente naquele TextField em que o cursor do mause está incerido.

Eu fiz um rascunho do código, mas o número correspondete ao botão aprece em todos os 5 TextField.

Veja meu código um tanto errado…

// n1…n0 = botões

private class AcionaNum implements ActionListener{

private JTextField ex1;

public AcionaNum(JTextField ex){

ex1=ex;

}

public void actionPerformed(ActionEvent evt){

if (evt.getSource()==n1){

String qq1 = ex1.getText() + 1;

ex1.setText(qq1);}

if (evt.getSource()==n2){

String qq1 = ex1.getText() + 2;

ex1.setText(qq1);}

if (evt.getSource()==n3){

String qq1 = ex1.getText() + 3;

ex1.setText(qq1);}

if (evt.getSource()==n4){

String qq1 = ex1.getText() + 4;

ex1.setText(qq1);}

if (evt.getSource()==n5){

String qq1 = ex1.getText() + 5;

ex1.setText(qq1);}

if (evt.getSource()==n6){

String qq1 = ex1.getText() + 6;

ex1.setText(qq1);}

if (evt.getSource()==n7){

String qq1 = ex1.getText() + 7;

ex1.setText(qq1);}

if (evt.getSource()==n 8){

String qq1 = ex1.getText() + 8;

ex1.setText(qq1);}

if (evt.getSource()==n9){

String qq1 = ex1.getText() + 9;

ex1.setText(qq1);}

if (evt.getSource()==n0){

String qq1 = ex1.getText() + 0;

ex1.setText(qq1);}

}}

//q1 e q2 = TextField

public Construtor(){

AcionaNum ss1= new AcionaNum(q1); n1.addActionListener(ss1);  n2.addActionListener(ss1);  n3.addActionListener(ss1);  n4.addActionListener(ss1);  n5.addActionListener(ss1);  n6.addActionListener(ss1);  n7.addActionListener(ss1);  n8.addActionListener(ss1);  n9.addActionListener(ss1);  n0.addActionListener(ss1);

AcionaNum ss2= new AcionaNum(q2); n1.addActionListener(ss2);  n2.addActionListener(ss2);  n3.addActionListener(ss2);  n4.addActionListener(ss2);  n5.addActionListener(ss2);  n6.addActionListener(ss2);  n7.addActionListener(ss2);  n8.addActionListener(ss2);  n9.addActionListener(ss2);  n0.addActionListener(ss2);

}

2 Respostas

evertonsilvagomesjav

Rapaz, vc usa ate smile no seu codigo? rsrs

Brincadeiras a parte, use as tags code e /code. Pra ficar facil de entender seu codigo.

W

Caro felipe_fernandes,
Você poderia criar uma variavel global do tipo textField, toda vez que um campo textField perder o focus ele seta a variavel, depois você pega a variavel que terá o textfield desejado e seta o texto dele, porém não é a melhor forma de fazer, mas pode resolver seu problema por hora

Criado 7 de setembro de 2010
Ultima resposta 9 de set. de 2010
Respostas 2
Participantes 3