Validar tipo de campo

Estes dias com a ajuda de @staroski ele fez esta classe:

import java.awt.Color;

import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.DefaultStyledDocument;

import softmoby.com.br.Teste.DocumentSizeFilter;

public class Tamanho_campo {

	private class UpdateListener implements DocumentListener {

		final JTextField textField;
		final DefaultStyledDocument doc;
		final int minimo;
		final int maximo;

		public UpdateListener(JTextField textField, DefaultStyledDocument doc, int minimo, int maximo) {
			this.textField = textField;
			this.doc = doc;
			this.minimo = minimo;
			this.maximo = maximo;
		}

		@Override
		public void changedUpdate(DocumentEvent e) {
			updateCount();
		}

		@Override
		public void insertUpdate(DocumentEvent e) {
			updateCount();
		}

		@Override
		public void removeUpdate(DocumentEvent e) {
			updateCount();
		}

		private void updateCount() {
			int quantidade = doc.getLength();
			if (minimo > quantidade) {
				textField.setBackground(Color.LIGHT_GRAY);
				int precisa = quantidade - minimo;
				textField.setToolTipText("Precisa mais " + precisa + " caracteres");
			}
			if (minimo <= quantidade) {
				int restam = maximo - quantidade;
				textField.setToolTipText("Restam " + restam + " caracteres");
				textField.setBackground(Color.WHITE);
			}
		}
	};

	public void tratarJTextField(int minimo, int maximo, JTextField textField) {
		DefaultStyledDocument doc = new DefaultStyledDocument();
		doc.setDocumentFilter(new DocumentSizeFilter(maximo));
		UpdateListener updateListener = new UpdateListener(textField, doc, minimo, maximo);
		doc.addDocumentListener(updateListener);
		textField.setDocument(doc);
		updateListener.updateCount();
	}
}



Gostaria de saber se tem como verificar o tipo de texto que vai receber com algo parecido assim só não consigo implementar:


`
private void jTextFieldKeyTyped(KeyEvent evt) { 
	String caracteres="";
 
    switch (tipo) {
        case "N":
        	caracteres="0987654321.";
            break;
        case "v":
        	caracteres="aeiou.";
        	break;
        default:
     }
	
	
	if(!caracteres.contains(evt.getKeyChar()+"")){
		evt.consume(); 
	}

	
	if((getText().length()>=getMaximoCaracteres())&&(getMaximoCaracteres()!=-1)){
		evt.consume(); 
		setText(getText().substring(0,getMaximoCaracteres())); 
	}
}

`