ai o q eu quero fazer é o seguinte: eu quero q ao apertar o botao 2 por exemplo, apareca num JTextField o numero 2…e assim por diante…ja tentei varios jeitos de fazer e nao, consegui…todos os jeitos q eu consegui aparecia o numero 9 no JTextField…independentemente do botao clicado
finalStringnomes[] = {1,2,3,4,5,6,7,8,9}; for(int i = 0; i < nomes.length; i++) {JButtonb=newJButton(nomes[i]);b.addMouseListener(new MouseAdapter() {publicvoidmouseClicked(MouseEvent e) {teuTextField.setText(nomes[i]);}});b[i] = b;}
Assim, qdo vc clicar no botoa, ele vai receber o numero correspondente ao index dele.
Rafael
S
slask
rpz…nao funfou nao…ele diz q a variavel I nao pode ser acessada =/
E
escordeiro
É porque, como está acontecendo a criação de uma classe anônima, as variáveis usadas dentro de métodos redefinidos (mouseClicked, no caso) devem ter valores conhecidos…tente:
finalStringnomes[] = {1,2,3,4,5,6,7,8,9};for(int i = 0; i < nomes.length; i++) {JButtonb=newJButton(nomes[i]);finalintj=i;b.addMouseListener(new MouseAdapter() {publicvoidmouseClicked(MouseEvent e) {teuTextField.setText(nomes[j]);}});b[i] = b;}
S
slask
ae…vlw pela a forca…mas tb nao funcionou nao hehehee
Daniel_Quirino_Olive
final String nomes[] = {1,2,3,4,5,6,7,8,9};
for (int i = 0; i < nomes.length; i++) {
JButton b = new JButton(nomes[i]);
final int j = i;
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textFieldQueVoceDeclarouEmAlgumLugarAnteriormente.setText(nomes[j]);
}
});
b[i] = b;
}