Oppure

Loading
29/06/10 19:00
Bonny
Salve sto sviluppando una applicazione dove inserisco dei dati tramite delle JTextField , volevo sapere se si può limitare l'imput dei caratteri ,tipo se esiste una proprietà maxlength editable. usando il costruttore JTextField(int collum) nn funziona.
Grazie in anticipo:)
aaa
29/06/10 20:43
tasx
Puoi attacarti all'evento keypressed e da lì verificare ogni volta se la lunghezza è valida o no...

ciaociao!! :k::k:
aaa
29/06/10 21:16
MrC
class Limite extends PlainDocument
{
 public void inserisciStringa(int offs, String stringa, AttributeSet attr)
                           throws BadLocationException
 {
            System.out.println("Insterisci la stringa!");
            if(super.getLength() + stringa.length() < 8)
            {
              super.inserisciStringa(offs, stringa, attr);
            }
            else
            {
              super.inserisciStringa(offs, stringa.substring(0, 8 - super.getLength()), attr);
            }
 }
}



Poi usi

tuoTextField.setDocument(new Limite());


:idea::idea::idea::idea::idea:
Ultima modifica effettuata da MrC 29/06/10 21:16
aaa
30/06/10 10:33
Bonny
Postato originariamente da tasx:

Puoi attacarti all'evento keypressed e da lì verificare ogni volta se la lunghezza è valida o no...

ciaociao!! :k::k:


Ma quando intercetto l'evento con il metodo
public void keyPressed(KeyEvent e) {

}
come faccio a capire su quale JTextFiled è stato intercettato?
Devo usare un metodo del tipo e.getActionCommand() come per i JButton?
grazie:)
aaa
30/06/10 13:56
bububs
Puoi intercettare la "casella attiva" facendo un cast, tipo questo:
JTextField casellaAttiva=(JTextField)(e.getSource());
Ultima modifica effettuata da bububs 30/06/10 13:56
aaa
30/06/10 16:54
Bonny
grazie:)
aaa
16/07/10 21:04
MrC
Non era più semplice la mia soluzione ? :rotfl:
aaa
17/07/10 12:17
Moon Knight
Si potrebbe anche porre che la JTextField riceva stringhe di qualsiasi lunghezza e poi estrarre sottostringhe di un determinato numero di caratteri. Se si supera la soglia ci sarà un avviso a video.
aaa