pessoal como faço para criar mascara em um textfield em awt???
desde ja agradeço.
pessoal como faço para criar mascara em um textfield em awt???
desde ja agradeço.
Cara vc pode Estender a classe PlainDocument.
Segue um exemplo.
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.Locale;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
@SuppressWarnings("serial")
public class Monitoracao extends PlainDocument {
private int tam;
private int cont = 0;
private Tipo myTipo;
private static final int TAMANHO_DATA = 10;
private static final int TAMANHO_CTRLV = 1;
private static final int TAMANHO_HORA = 5;
private char NUMERO_DATA;
private char NUMERO_HORA = ' ';
private boolean ctrlV;
public Monitoracao(Tipo tipo, int maxlen) {
super();
tam = maxlen;
myTipo = tipo;
}
public Monitoracao(Tipo tipo) {
super();
myTipo = tipo;
}
@SuppressWarnings("static-access")
public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException {
// *********************************** VALIDA NUMEROS
if (myTipo == myTipo.NUMERO) {
cont = 0;
if (str.length() > TAMANHO_CTRLV) {
while (cont < str.length()) {
ctrlV = Character.isDigit(str.charAt(cont));
cont++;
if (ctrlV == false) {
cont = 0;
break;
}
}
} else {
ctrlV = Character.isDigit(str.charAt(cont));
}
if ((str != null) && (getLength() + str.length() <= tam) && (ctrlV)) {
super.insertString(offset, str, attr);
}
}
}
Adicionando no text
TNprocesso = new JTextField(15);
TNprocesso.setDocument(new Monitoracao(Tipo.NUMERO, 20));
Diego nesta classe tem import swing, isso vai funcionar no AWG? sendo que swing é uma evoluçao do awt.
Verdade o awt não implementa setDocument.
complicou.