Dúvida

9 respostas
S

ae pessoal…

tenho o seguinte código abaixo:

JButton b[];
String nomes[] = {1,2,3,4,5,6,7,8,9};

b = new JButton[nomes.length];

for(i = 0; i < nomes.length; i++)

{

b[i] = new JButton(nomes[i]);

}

c.add(b[i]);

bom esse codigo cria botoes de 1 a 9…o q eu quero saber eh como faco pra fazer q apos clicar em um determinado botao, apareca num JTextField o valor do botao…queria saber se eh possivel fazer do jeito q estou querendo…pq declarar botao a botao o codigo fica mto grande…

flw

9 Respostas

C

Olá,

Vc pode verificar qual o indices do botao apertado, ou seja,
se apertou o botao[3], intaum vc coloca o valor de nomes[3] no JTextField!
É isso q vc quer?!?
Pra ver qual botao apertou, lá no actionPerformed vc faz um for e testa um por um se é igual ao evento.getSource()

Se não for isso… explica mais pra nós!!!

Falow!

S

aee…

rpz pelo o q notei eh pelo getsource msm q tenho q fazer…agora tentei e nao consegui fazer…da pra vc dar so 1 exemplo ai? ai eu faco o restoo

flww

S

“slask”:
aee…

rpz pelo o q notei eh pelo getsource msm q tenho q fazer…agora tentei e nao consegui fazer…da pra vc dar so 1 exemplo ai? ai eu faco o restoo

flww

mas tipo…o q eu quero eh escrever no Jtextfield, qual o botao apertei…eh q nao estou sabendo passar o indice do botao…

W

“slask”:
“slask”:
aee…

rpz pelo o q notei eh pelo getsource msm q tenho q fazer…agora tentei e nao consegui fazer…da pra vc dar so 1 exemplo ai? ai eu faco o restoo

flww

mas tipo…o q eu quero eh escrever no Jtextfield, qual o botao apertei…eh q nao estou sabendo passar o indice do botao…

no teu codigo vai existir um array de botoes b[i].
para cada b[i] tu poe um actionlistener.
depois tu compara evento.getSource() a qual botao pertence e seta o texto na textField.

ta captado ou eh preciso postar o codigo?? :grin:

T+

S

“Wakky”:
“slask”:
“slask”:
aee…

rpz pelo o q notei eh pelo getsource msm q tenho q fazer…agora tentei e nao consegui fazer…da pra vc dar so 1 exemplo ai? ai eu faco o restoo

flww

mas tipo…o q eu quero eh escrever no Jtextfield, qual o botao apertei…eh q nao estou sabendo passar o indice do botao…

no teu codigo vai existir um array de botoes b[i].
para cada b[i] tu poe um actionlistener.
depois tu compara evento.getSource() a qual botao pertence e seta o texto na textField.

ta captado ou eh preciso postar o codigo?? :grin:

T+

ta captado, mas o problema eh q nao quero declarar 1 actionListener para cada botao…isso vai fazer com q o codigo fike mto grande…

flw

R

então
vc faz um mouseListener com um campo estatico:

static private int UltimoPressionado

ae no evento mouseClick, vc faz com que este campo receba um códio do botão

ou então muda o campo para String e faz com que esse campo receba o caption do botão

depois, declare outro campo estatico:

static private JTextField TxtF

e outro setJTextField(JTextField txt) para “setar” o TextField

no mouseClick, faça o campo Text desse JTextField receber o conteudo de UltimoPressionado…

certo? :wink:

W

“slask”:
“Wakky”:
“slask”:
“slask”:
aee…

rpz pelo o q notei eh pelo getsource msm q tenho q fazer…agora tentei e nao consegui fazer…da pra vc dar so 1 exemplo ai? ai eu faco o restoo

flww

mas tipo…o q eu quero eh escrever no Jtextfield, qual o botao apertei…eh q nao estou sabendo passar o indice do botao…

no teu codigo vai existir um array de botoes b[i].
para cada b[i] tu poe um actionlistener.
depois tu compara evento.getSource() a qual botao pertence e seta o texto na textField.

ta captado ou eh preciso postar o codigo?? :grin:

T+

ta captado, mas o problema eh q nao quero declarar 1 actionListener para cada botao…isso vai fazer com q o codigo fike mto grande…

flw

quem falou q o codigo eh grande???

...
//seguindo o seu codigo....
field = new JTextField&#40;2&#41;;
b = new JButton&#91;nomes.length&#93;; 
for&#40;int i = 0; i &lt; nomes.length; i++&#41; 
&#123; 
	b&#91;i&#93; = new JButton&#40;nomes&#91;i&#93;&#41;;
	b&#91;i&#93;.addActionListener&#40;this&#41;;
	c.add&#40;b&#91;i&#93;&#41;; 
&#125;
...
public void actionPerformed&#40;ActionEvent e&#41;
&#123;
    	field.setText&#40;""&#41;;//limpa a caixa
    	field.setText&#40; &#40; &#40;JButton&#41;e.getSource&#40;&#41; &#41;.getText&#40;&#41; &#41;;
&#125;

so se eu nao intendi a sua duvida :grin:

T+

S

falei besteira huaeueuaeuhae…vlw ai pela a ajuda, consegui fazer o q eu queria

flw

W

“slask”:
falei besteira huaeueuaeuhae…vlw ai pela a ajuda, consegui fazer o q eu queria

flw

eh so falar… :wink:

T+

Criado 16 de julho de 2004
Ultima resposta 18 de jul. de 2004
Respostas 9
Participantes 4