Grazie mille per la velocissima risposta ma purteoppo non mi funziona, continua a farmi digitare sempre un solo carattere. Ti riposrto più nel dettaglio cosa ho fatto:
Classe dove si trova la mia GUI con la JTextField:
Nella classe NumberDocument ho copiato una porzione del tuo codice che riporto:codice:textField_4 = new JTextField(); textField_4.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent arg0) { NumberDocument digitsOnlyDoc1 = new NumberDocument(); textField_4.setDocument(digitsOnlyDoc1); } });
ho aggiunto un stampa della lunghezza che mi ritorna sempre 1.codice:public class NumberDocument extends PlainDocument { public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { if (str == null) return; StringBuffer sb = new StringBuffer(str.length()); System.out.println(str.length()); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); // Inserts the character into the buffer // ONLY if it is a digit. if (Character.isDigit(c)) { sb.append(c); } } super.insertString(offs, sb.toString(), a); } }
attendo suggerimenti
saluti
nh


Rispondi quotando