Olá comunidade, uma dúvida . Como atribuir um valor a dado botão, por exemplo Button1 é igual a 9, ler esse valor no JPasswordField, e referenciar valor armazenado no JPasswordField em outra classe. Vejam os códigos abaixo, eles ilustram melhor.
Agradeço,
packagep;ClassA{privatevoidbutton1ActionPerformed(java.awt.event.ActionEventevt){//como atribuir o valor ao button1 ? Valor a ser exibido no JPasswordField ??? }}
packagep;ClassB{privatevoidbutton2ActionPerformed(java.awt.event.ActionEventevt){//como atribuir o valor ao button2 ? Valor a ser exibido no JPasswordField ??? }}
packagep;ClassC{// Como fazer referencias aos valores armazenados no JPasswordField da classe A e da classe B ???}
Não sei se entendi direito o seu problema. Quer pegar o texto do JButton que foi clicado, é isso?
Todo evento possui uma referência à fonte geradora do evento. Se esta for o seu botão pode usar isso para pegar o texto dele:
Esses Button são de um teclado numérico implementado na tela [ por exemplo, atribuo ao Button1 o número 1, ao Button2 o número 2 , …] e em cada uma das classes estão os campos do JPassword que vão ler informações desses Buttons.
Meu problema é :
Como atribuir esses valores ao JButtons ?
Como em uma terceira classe acessar a essas informações dos JPasswords enviadas pelos Buttons ?
visola
Acho que entendi um pouco melhor agora… vamos lá.
Atribuir o valor ao JButton pode ser feito usando o setText mesmo. Então se o botão 1 vai mostrar o texto 1, então você cria o botão assim:
// ...JButtonbt1=newJButton("1");// ...// Depois para pegar o valor do botão pode fazer como eu tinha mostrado:bt1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Stringvalor=((JButton)e.getSource()).getText();// Coloca o valor no JPassword:passField.setText(valor);// ou se quiser colocar no final do texto que já está lá:char[]atual=passField.getPassword();passField.setText(newString(atual)+valor);}});
Agora, para pegar os valores dos JPasswordFields, você teria que ter acesso a eles (ou diretamente pela propriedade ou por um getter). Você pode declará-los como “public” no seu form ou criar um getter para cada um deles: