Como fazer esse metodo

2 respostas
A

Pessoal, num projeto em NetBeans, tenho 3 classes que contem JtextFields, fiz o codigo abaixo para deixar somente letras miusculas private void ttf_nomeKeyReleased(java.awt.event.KeyEvent evt) { //definindo nome para aceitar somente maiuculo if ((evt.getKeyCode() != KeyEvent.VK_HOME) && evt.getKeyCode() != KeyEvent.VK_LEFT && evt.getKeyCode() != KeyEvent.VK_RIGHT) { ttf_nome.setText(ttf_nome.getText().toUpperCase()); } }

funciona tudo bem, porem quero fazer um metodo para nao ter q colocar este codigo em todos os jTextFields. Como seria esse metodo ?
seria possivel criar uma classe com esse metodo para reutilizar nas outrsa classes ?

2 Respostas

P

Olá, vc pode fazer o metodo desta forma:

JTextField ttf1.setText(setUpper(ttf1.getText(), evt));//passa como parametro a String do ttf e o evento

private String setUpper(String string, KeyEvent evt) {
 
        if ((evt.getKeyCode() != KeyEvent.VK_HOME) && evt.getKeyCode() != KeyEvent.VK_LEFT && evt.getKeyCode() != KeyEvent.VK_RIGHT)  {
                     return string.toUpperCase();           
              //caso nao funcionar o return dentro do if atribui a valor Upper a uma var e retorna esta var, blz??
        }
}

Bom, acho que é isso, vc também pode fazer este método em uma classe diferente, só não esqueça de defini-lo como public ou protected, caso contrario não será possível acessa-lo, OK??

Até mais, Filipe.

R

Você pode fazer assim:

public void toUpper (JTextField field) {
       field.setText(fild.getText().toUpperCase());

   }

Aí, no evento dos três jtextfields, você chama este método, passando o textfield

txt1.addKeyListener (new Key... () {
   public void ... (KeyEvent e) {
         toUpper(txt1);
   }
}); 

txt2.addKeyListener (new Key... () {
   public void ... (KeyEvent e) {
         toUpper(txt2);
   }
}); 

txt3.addKeyListener (new Key... () {
   public void ... (KeyEvent e) {
         toUpper(txt3);
   }
});

Falou

Criado 17 de março de 2007
Ultima resposta 18 de mar. de 2007
Respostas 2
Participantes 3