Announcement

Collapse
No announcement yet.

jTextField: Maximale Anzahl Zeichen festlegen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • jTextField: Maximale Anzahl Zeichen festlegen

    Hallo zusammen,

    wie kann ich die Maximale Anzahl der Zeichen eines jTextFields setzten, so dass der Benutzer / die Benutzerin nicht längere Namen eingeben kann?

    habe es mit einem keyReleasedEvent gelöst,
    finde ich aber nicht besonders schick.
    gibt es einen anderen ansatz?

    Code:
            if (jTextField.getText().length() > 20) {
                jTextField.setText(jTextField.getText().substring(0, 20));
            }

  • #2
    ja, aber wie immer in Java gilt:"Warum einfach, wenn es auch kompliziert geht"

    jTextField.setDocument(new TextDoc(ANZAHL DER ZEICHEN));
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      ja, aber wie immer in Java gilt:"Warum einfach, wenn es auch kompliziert geht"

      jTextField.setDocument(new TextDoc(ANZAHL DER ZEICHEN));

      hallo christian.

      klingt gut dein vorschlag.
      nur: kann ich die klasse TextDoc nirgendwo in Java finden. Ist dies eine selbstgeschriebene?

      gruss und dank
      barbara

      Comment


      • #4
        oh, ja....mir war doch so, als ob was fehlte...wäre ja sonst zu einfach....

        Code:
        public class TextDoc extends PlainDocument
        {
        private int maxLength;
        public TextDoc(int maxLength)
            {
            this.maxLength=maxLength;
            }
        @Override
        public void insertString(int offs,String str,AttributeSet a) throws BadLocationException
            {
            if(str.length()==0)
                return;
            if(getLength()+str.length()<maxLength)
                {
                super.insertString(offs,str,a);
                }
            }
        }
        Christian

        Comment


        • #5
          hallo christian

          vielen dank für die schnelle antwort.
          glaube, das war genau das, wonach ich suchte.

          grüsse
          barbara

          Comment

          Working...
          X