2009-07-01 3 views
5

Ich versuche eine Zelle in JTable zu validieren, sobald die Daten eingegeben werden. Ich möchte sicherstellen, dass der richtige Code in der Code-Spalte eingegeben wird. Kann mir bitte jemand sagen, wie man das macht?JAVA - Validierung in JTable

+0

Können Sie näher erläutern, was Sie zu validieren versuchen? – Yuval

Antwort

4

Sie sollten eine TableCellEditor implementieren und Ihre Validierung innerhalb der stopCellEditing() Methode durchführen. Wenn die Validierung fehlschlägt, sollte diese Methode false zurückgeben. Aus dem Javadoc:

"Weist den Editor an, die Bearbeitung abzubrechen und jeden teilweise bearbeiteten Wert als Wert des Editors zu akzeptieren. Der Editor gibt false zurück, wenn die Bearbeitung nicht gestoppt wurde; dies ist für Redakteure nützlich, die die Prüfung akzeptieren und nicht akzeptieren können ungültige Einträge. "

Werfen Sie einen Blick auf die GenericEditor-Klasse, die in JTable für ein Beispiel definiert ist.

Eine andere Sache, ein Blick wert: Man kann immer ein DefaultCellEditor mit einem JFormattedTextField als Parameter konstruieren und ein InputVerifier in das Textfeld hinzufügen Eingabe ungültiger Daten zu verhindern, begangen werden.