JFormattedTextField

LittleJava

Mitglied
Guten Morgen,

ich habe folgendes Problem. Ich habe zwei formatierte Textfelder:

Java:
formatter = new MaskFormatter("UUUUU");
formatterTwo = new MaskFormatter("####");
inputDS100 =   new JFormattedTextField(formatter);
inputGN = new JFormattedTextField(formatterTwo);

Das erste Begrenze ich auf maximal 4 Buchstaben und das zweite auf maximal 4 Zahlen. Hier liegt für mich das Problem, da der User ruhig weniger eingeben dürfen sollte. Wenn der User weniger eingibt und der Fokus von den Textfeldern abzieht, dann sind die Eingaben nicht mehr vorhanden, da kleiner 4.

Weiß jemand dafür eine Lösung?

Vielen Dank.
 
Zuletzt bearbeitet:

LittleJava

Mitglied
Danke für eure Hilfe! (Wie gebe ich hier im Forum ein Danke ab?)Hier meine Lösung falls jemand anderes auch mal vor dem Problem stehen sollte:

Initialisierung JTextFields:

Java:
inputDS100 = new JTextField(new MaxSizeDocuments(2), "", 5);
inputGN = new JTextField(new MaxSizeDocuments(2), "", 5);

KeyListener:

Java:
inputGN.addKeyListener(this);
inputDS100.addKeyListener(this);

Eingabebeschränkung auf Zahlen bzw. Buchstaben:

Java:
public void keyTyped(KeyEvent e) {

		if (e.getSource() == inputGN) {
			char c = e.getKeyChar();
			if (!Character.isDigit(c) || c == KeyEvent.VK_BACK_SPACE
					|| c == KeyEvent.VK_DELETE) {
				getToolkit().beep();
				e.consume();

			} else {}

		} else {
			if (e.getSource() == inputDS100) {
				char c = e.getKeyChar();
				if (!Character.isLetter(c) || c == KeyEvent.VK_BACK_SPACE
						|| c == KeyEvent.VK_DELETE) {
					getToolkit().beep();
					e.consume();
				}
				
			}
		}
}

Beschränkung der Anzahl der Eingabezeichen:
Java:
public class MaxSizeDocuments extends PlainDocument {
	
	private int maxSize;
	
	public MaxSizeDocuments(int maxSize) {
		this.maxSize = maxSize;
	}
	
	@Override
	public void insertString (final int offset, final String text, final AttributeSet attributeSet) throws BadLocationException {
		if (isNewLengthOk(text))
			super.insertString(offset, text, attributeSet);
		else
			Toolkit.getDefaultToolkit().beep();
	}

	private boolean isNewLengthOk(final String text) {
		if (getLength() + text.length() <= maxSize)
			return true;
		return false;
	}
	

}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JFormattedTextField für kg und Währung AWT, Swing, JavaFX & SWT 6
S JFormattedTextField dezimal variabler Länge AWT, Swing, JavaFX & SWT 12
Ghostman1711 Java JFormattedTextfield MaskFormatter ohne Leerzeichen AWT, Swing, JavaFX & SWT 3
N Swing JFormattedTextField keine Werte nach Formatzuweisung AWT, Swing, JavaFX & SWT 0
M European Article Number (EAN) in JFormattedTextfield AWT, Swing, JavaFX & SWT 3
B Swing JFormattedTextField AWT, Swing, JavaFX & SWT 4
Y JFormattedTextfield - Aktualisierung und Beschränkung AWT, Swing, JavaFX & SWT 4
V Swing Nullpointer Exception bei JFormattedTextField AWT, Swing, JavaFX & SWT 4
S Swing JFormattedTextField - bei nicht korrekter Eingabe Inhalt überschreiben AWT, Swing, JavaFX & SWT 5
S Swing JFormattedTextfield markiert nicht gesamten Inhalt AWT, Swing, JavaFX & SWT 4
C Swing Button in Textfeld (JFormattedTextField) AWT, Swing, JavaFX & SWT 7
A jformattedtextfield unsichtbar und wieder sichtbar machen AWT, Swing, JavaFX & SWT 13
C Swing JFormattedTextField + Eurobetrag AWT, Swing, JavaFX & SWT 2
E Problem mit MaskFormatter und JFormattedTextField AWT, Swing, JavaFX & SWT 3
A EventListener für JFormattedTextField AWT, Swing, JavaFX & SWT 6
B Swing Betrag mit Komma aus jformattedtextfield auslesen. AWT, Swing, JavaFX & SWT 2
E Swing JFormattedTextField Live Validierung AWT, Swing, JavaFX & SWT 4
C Swing Default Werte für JFormattedTextField und Eingaben zurücksetzen AWT, Swing, JavaFX & SWT 5
G JFormattedTextField und DefaultButton AWT, Swing, JavaFX & SWT 6
B Swing JFormattedTextField auf mehreren JPanels in einer JTabbedPane AWT, Swing, JavaFX & SWT 3
G JFormattedTextField values AWT, Swing, JavaFX & SWT 8
R JFormattedTextField AWT, Swing, JavaFX & SWT 8
D Eingabemaske im JFormattedTextField ändern AWT, Swing, JavaFX & SWT 3
D JFormattedTextfield um Grafik erweitern AWT, Swing, JavaFX & SWT 15
N JFormattedTextField erst Verlassen, wenn Eingabe korrekt AWT, Swing, JavaFX & SWT 6
G JFormattedTextField lässt sich nicht mehr leeren AWT, Swing, JavaFX & SWT 4
N PropertyChangeListener an JFormattedTextField AWT, Swing, JavaFX & SWT 7
D Problem mit JFormattedTextField AWT, Swing, JavaFX & SWT 6
A Problem mit JFormattedTextField auslesen AWT, Swing, JavaFX & SWT 11
S JFormattedTextField und maximal 3 Stellen. AWT, Swing, JavaFX & SWT 11
M JFormattedTextField und Null-Werte AWT, Swing, JavaFX & SWT 4
E JformattedTextField, Dialog und weitere Kleinigkeiten . AWT, Swing, JavaFX & SWT 2
E Problem mit Validierende Eingabefeldern JFormattedTextField AWT, Swing, JavaFX & SWT 8
B JFormattedTextField mit DecimalFormat in ein Double AWT, Swing, JavaFX & SWT 11
C JFormattedTextField - nur bestimmte Zeichen zulassen AWT, Swing, JavaFX & SWT 3
H JFormattedTextField - Einen Preis eingeben lassen AWT, Swing, JavaFX & SWT 2
B Zeichen werden im JFormattedTextField überschrieben AWT, Swing, JavaFX & SWT 3
H JFormattedTextField AWT, Swing, JavaFX & SWT 4
W IP-Adresse mit JFormattedTextField AWT, Swing, JavaFX & SWT 5
F JFormattedTextField formatieren AWT, Swing, JavaFX & SWT 7
J [JFormattedTextField] Nur Zahlen eingebbar AWT, Swing, JavaFX & SWT 3
S [JFormattedTextField] Ja wie denn nun? AWT, Swing, JavaFX & SWT 2
G Datumseingabe mit JFormattedTextField AWT, Swing, JavaFX & SWT 4
B Wert bei JFormattedTextField automatisch aktualisieren AWT, Swing, JavaFX & SWT 2
H Frage zu JFormattedTextField AWT, Swing, JavaFX & SWT 2
G Problem mit JFormattedTextField AWT, Swing, JavaFX & SWT 3
M Datumseingabe in ein JFormattedTextfield AWT, Swing, JavaFX & SWT 2
F Problem mit JFormattedTextField AWT, Swing, JavaFX & SWT 4
A JFormattedTextField - vertical misalignment problems... AWT, Swing, JavaFX & SWT 12

Ähnliche Java Themen


Oben