olá pessoal …
criei o seguinte codigo para validar horas digitadas num jformattedtextfield …
jFormattedTextField4 = new JFormattedTextField(mascara);
jFormattedTextField4.setVisible(true);
jFormattedTextField4.setEditable(true);
jFormattedTextField4.setBounds(650, 230, 50, 25);
jFormattedTextField4.setToolTipText( "Informe a hora de saída (digite apenas números)" );
jFormattedTextField4.setFocusLostBehavior(JFormattedTextField.COMMIT);
jFormattedTextField4.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent e) {
String pega = "" ;
String hora = null;
String minuto = null ;
int conta_pega = 0;
int conta_hora = 0;
int conta_minuto = 0;
pega = jFormattedTextField4.getText();
pega = pega.trim();
if ( pega.equals(":")) {
JOptionPane.showMessageDialog(null, "Digite a hora" ,"Operador",JOptionPane.ERROR_MESSAGE);
jFormattedTextField4.setValue("");
return;
}
conta_pega = pega.length();
if ( conta_pega < 5 ) {
JOptionPane.showMessageDialog(null, "Digite a hora" ,"Operador",JOptionPane.ERROR_MESSAGE);
jFormattedTextField4.setValue("");
return;
}
hora = pega.substring(0,2);
minuto = pega.substring(3,5);
conta_hora = Integer.parseInt(hora);
conta_minuto = Integer.parseInt(minuto);
if(conta_hora > 23) {
JOptionPane.showMessageDialog(null, "Hora digitada inválida" ,"Operador",JOptionPane.ERROR_MESSAGE);
jFormattedTextField4.setValue("");
return;
}
if(conta_minuto > 59) {
JOptionPane.showMessageDialog(null, "Hora digitada inválida" ,"Operador",JOptionPane.ERROR_MESSAGE);
jFormattedTextField4.setValue("");
return;
}
}
});
ele funciona legal, certinho, mas o problema eh que vou ter varias horas para digitar, sao uns 10 jformattedtextfield + ou - …
entao para nao fazer 10 vezes a mesma coisa, gostaria de criar uma classe com essa validacao, e nos jformattedtextfield apenas chamá-la …
crio essa classe como um document ??
e como faco a chamada nos jformattedtextfield ??
obrigado