Limite de um JTextField

Prezados Companheiros:

Gostaria de saber se é possível limitar o tamanho de um JTextField em relação a qtade de caracteres:

num1 = new JTextField( 10);

onde o 10 representa a largura (de caracteres) do meu JTextField.
É possivel definir que seja possível digitar apenas 5 caracteres neste JTextField ?

Obrigados a todos

o unico metodo que conheco (e inclusive já usei) é uma gambiarrazinha… =P
voce pode adicionar um key listener ao textfield, e ler o tamanho do texto nele a cada tecla pressionada:

textField.addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent ke) { JTextField fonte =(JTextField) ke.getSource(); int tamanho = fonte.getText().length(); if(tamanho + 1 > 5) { fonte.setText(fonte.getText().substring(0, 4)); } } });

voce vai reparar que o texto que é “pego” dentro do metodo keyTyped é sempre anterior ao texto atual(com o caractere que provocou o evento), por isso coloquei esse “+ 1”. mas aí você usa do jeito que for melhor pra voce…

espero ter ajudado

Qrd…
Vc pode descer o nivel ate o Model do TextField, tive problema semelhante que foi resolvido trabalhando com o PlainDocument…
Ai vai um exemplo:

import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.*;
import javax.swing.text.PlainDocument;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;

/**
 * Exemplo de Text
 */
public class Teste extends JFrame{
    public Teste() {
        try {            
            jbInit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }        
        this.setSize(50,100);
        this.setVisible(true);
    }

    public static void main(String[] args) {
        Teste teste = new Teste();
    }

    private void jbInit() throws Exception {
        NovoPlainDocument plainDocument = new NovoPlainDocument();
        plainDocument.setColunas(10);
        jTextField1.setDocument(plainDocument);        
        this.getContentPane().add(jTextField1, java.awt.BorderLayout.CENTER);
    }

    private JTextField jTextField1 = new JTextField();
}

/**
 * Classe que herda o PlainDocument
 */
class NovoPlainDocument extends PlainDocument{
    private int colunas=-1;
    
    //metodo sobreescrito do plaindocument
    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
        if(getLength()<colunas){
            super.insertString(offs,str,a);
        }
        return;       
        
    }
    
    public void setColunas(int colunas){
        this.colunas=colunas;
    }
    
    public int getColunas(){
        return colunas;
    }
    
}

Espero que ajude abraços…