Olá…
Tenho um frame com componente JTextfield. Esse componente soh pode receber inteiros, como posso fazer a validação?
Tentei achar uma função como no Delphi toint() mais não consegui.
Alguem pode me ajudar?
obrigado
Douglas
Olá…
Tenho um frame com componente JTextfield. Esse componente soh pode receber inteiros, como posso fazer a validação?
Tentei achar uma função como no Delphi toint() mais não consegui.
Alguem pode me ajudar?
obrigado
Douglas
Oi
Douglas, um meio, não muito elegante é fazer com um KeyListener, mas vai dar um pouco de trbalaho…
Tu pode fazer um conversão, e depois veririfcar se está tudo certo… Por exemplo, converter o conteúdo do Field pra inteiro:
int fieldInt = Integer.parseInt(seuFileld.getText().toString());
Aí depois é só ver se o filedInt tem alguma coisa como valor.
T+
Deu Certo em partes 
Seguinte, eu gostaria que o campo tivesse apenas valores entre 0 e 99999
então estou tentando o seguinte, mais não consegui fazer dar certo, vc teria alguma sugestão para me dar?
try
int fieldInt = Integer.parseInt(seuFileld.getText().toString());
catch {
return false;
}
if((fieldInt > 0) && (fieldInt < 999999)) {
return true;
else
return false;
}
obrigado…
Douglas
P.S. - Desculpe pela mensagem duplicada antes, foi um erro no meu browser.
Blza Consegui tudo certinho…
Só mais uma duvida rápida…
Como faço para limitar o tamanho do Jtextfield? Tipo quero que em determinado campo só pode digitar 4 caracteres?
Uso o Jbuilder e ainda não achei a propriedade correta…
abs
Douglas
Oi
Douglas, eu ja procurei isso tb, mas nao existe um método só pra isso… NO GUJ tem um tutorial que faz isso, da uma garimpada lá www.guj.com.br
T+
pra isso vc precisa colocar uma máscara, use o JFormattedTextField
veja esse exemplo:
import javax.swing.text.MaskFormatter.*;
import java.text.ParseException;
public class Formata extends javax.swing.JFrame {
public Formata () {
initComponents ();
pack ();
}
private void initComponents() {
Painel = new javax.swing.JPanel();
getContentPane().setLayout(null);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
}
);
try {
mask = new javax.swing.text.MaskFormatter("####");
mask.setPlaceholderCharacter('_');
FormatField = new javax.swing.JFormattedTextField(mask);
FormatField.setBounds(40, 40, 50, 20);
getContentPane().add(FormatField);
}
catch (ParseException e) {
e.printStackTrace();
FormatField = new javax.swing.JFormattedTextField();
FormatField.setBounds(40, 40, 200, 20);
getContentPane().add(FormatField);
}
}
public void exitForm(java.awt.event.WindowEvent evt){
System.exit(0);
}
public static void main (String args[]) {
Formata f = new Formata();
f.setSize (120,120);
f.setTitle(" TEstando Máscara");
f.show ();
}
public javax.swing.JFormattedTextField FormatField;
public javax.swing.JPanel Painel;
public javax.swing.text.MaskFormatter mask;
}
até mais
Dá uma olhada em java.swing.JFormattedTextField e em java.swing.text.MaskFormatter.
T+