Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe drei JTextField Objekte. In keinem dieser Felder darf es möglich sein einen doppelten Wert einzugeben. D. h. steht im ersten Field der Wert "123" darf dieser Wert in keinem anderen Feld mehr eingetragen werden.
Der DocumentListener überprüft ja während der Eingabe in das Textfeld. Ein InputVerifier überprüft nach Verlassen des Textfeldes (Fokusverlust) und bleibt ggf. auf dem Textfeld, wenn Bedingungen nicht erfüllt sind. Müsstest du mit dem InputVerifier ja nur überprüfen, ob der Wert im aktuellen Feld schon in den anderen Textfeldern vorhanden ist oder nicht.
Die frage is sehr schwammig aber du könntest dir per FocusListener in focusGained(); den aktuellen Wert holen und überprüfen, ob dieser gültig ist.
Wenn ja, dann merken.
und wenn der InputVerifier dann ein ungültiges Ergebnis hat, dann nimmste den gemerkten wert.
Es sind drei (bzw. vier) JFormattedTextField's. In diesen Feldern werden ID's eingetragen, jede ID darf logischerweise nur einmal vorkommen und nicht zweimal. Die ID's sind dreistellige Zahlen. Zum Einsatz kommt ein MaskFormatter. Die letzten gültigen IDs werden beim Start geladen.
Das mit dem InputVerifier klappt. Ich kann aber trotz doppelter Vergabe den Tab wechseln oder Buttons betätigen.
Praktisch wäre, wenn bei der Eingabe überprüft wird, ob die Eingabe mit einer anderen ID übereinstimmt und dann ggf. den Input blockt. Beim Verlassen des Felds bzw. des Fokus dann den letzten gültigen Wert übernimmt.
Du willst das schon bei der Eingabe überprüfen? Wenn dann im ersten Feld 3 steht und du willst ins zweite Feld 30 eingeben, lässt er dich dann doch gar nicht...