olá, pessoal.
Peguei esta classe no grupo de java avançado, mas gostaria de saber como usá-la?
import javax.swing.JTextField;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;
public class NumberFieldVerifier extends javax.swing.InputVerifier implements java.awt.event.ActionListener {
private boolean allowzero;
DecimalFormat df;
public NumberFieldVerifier(boolean allowzero){
this.allowzero=allowzero;
df=new DecimalFormat("#,##0.00",new DecimalFormatSymbols(new Locale("pt","BR")) );
}
public boolean shouldYieldFocus(javax.swing.JComponent input) {
if(verify(input)){
return true;
}else{
//java.awt.Toolkit.getDefaultToolkit().beep();
javax.swing.JOptionPane.showMessageDialog(null, "valor inválido");
return false;
}
}
public boolean verify(javax.swing.JComponent input) {
float valor;
try{
valor= df.parse( ((JTextField) input).getText() ).floatValue();
}catch (java.text.ParseException pe){return false;}
if(! allowzero){ //ñ permite zero
if( valor==0){return false;}
}
return checkField(valor);
}
public boolean checkField(float valor){
boolean valid;
if(valor>0){formata();valid=true;}else{valid=false;}
return valid;
}
public void formata(){}
public void actionPerformed(java.awt.event.ActionEvent e) {
JTextField campo= (JTextField) e.getSource();
shouldYieldFocus(campo);
campo.selectAll();
}
}