Sonic: Länge der Eingabe bei InputDialog

Hallo,

wie kann man in Java bei einem InputDialog (JOptionPane.showInputDialog(...);) die Länge der Eingabe begrenzen? Geht das überhaupt? Ich möchte verhindern, dass der Benutzer nicht mehr als 15 Zeichen eingibt.

Gruß
Sonic

  1. Hallo Sonic,

    wie kann man in Java bei einem InputDialog (JOptionPane.showInputDialog(...);) die Länge der Eingabe begrenzen?

    Wenn man die Methode verwendet, gar nicht. Man kommt ja an das eigentliche Dialog-Objekt gar nicht ran. Man könnte allerdings JOptionPane selbst instanzieren, dann bekommt man auch das JDialog-Objekt. Da könnte man dann nach dem Textfeld suchen und das irgendwie verändern.
    Das ist allerdings ein böser Hack und hängt extrem von der Implementierung von JOptionPane ab, die sich ändern kann und sicher auch ab und an mal ändern wird.

    Geht das überhaupt? Ich möchte verhindern, dass der Benutzer nicht mehr als 15 Zeichen eingibt.

    Du musst wohl einen eigenen JDialog erstellen (ist ja nicht so schwierig).
    Bei JTextField sehe ich jetzt auf den ersten Blick gar keine Möglichkeit, die Länge zu begrenzen. Möglicherweise musst Du da noch einen InputMethodListener für schreiben o.ä.

    Grüße

    Daniel

    1. Wenn man die Methode verwendet, gar nicht. Man kommt ja an das eigentliche Dialog-Objekt gar nicht ran. Man könnte allerdings JOptionPane selbst instanzieren, dann bekommt man auch das JDialog-Objekt. Da könnte man dann nach dem Textfeld suchen und das irgendwie verändern.

      Hi,

      schade, dass es nicht geht. Wenn ich eine neue JOptionPane mit
      JOptionPane optionPane = new JOptionPane(); erstelle, besitzt das Objekt massig an Funktion.
      Es gibt also schon genug Funktionen bei InputPanes, aber wie immer, nicht die, die man braucht.

      Gruß
      Sonic