Beschränkung auf Nur-Zahleneingabe in Textfield klappt nicht

Status
Nicht offen für weitere Antworten.

milchmann

Mitglied
hallo,

ich habe folgendes problem:

über einen eigabedialog lasse ich mir einen wert eingeben, der eine ganzzahlige zahl (max. 4 stellen) sein muss um entsprechend weiterverarbeitet werden zu können.

ich habe dazu die in diesem forum dazu vorgeschlagene klasse StandardDocumentNumbers

Code:
import java.awt.Toolkit;

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class StandardDocumentNumbers extends PlainDocument {

 //  private int maxLength_ = Integer.MAX_VALUE;
	private int maxLength_ = Integer.MAX_VALUE;

   public StandardDocumentNumbers(int maxLength) {
      this.maxLength_ = maxLength;
   }

   public void insertString(final int offset, final String toInsert,
         final AttributeSet notUsed) throws BadLocationException {
   
      if (toInsert == null) return;      
      
      int actualLength = this.getLength();
      boolean isInt = true;
      
      if (actualLength + toInsert.length() < this.maxLength_) {
         String [] splitted = toInsert.split("");
         
         for (int i = 1; i< splitted.length; i++){
            
            if (!(splitted[i].toString().equals("1") || splitted[i].toString().equals("2") || splitted[i].toString().equals("3")
                  || splitted[i].toString().equals("4") || splitted[i].toString().equals("5")
                  || splitted[i].toString().equals("6") || splitted[i].toString().equals("7")
                  || splitted[i].toString().equals("8") || splitted[i].toString().equals("9")
                  || splitted[i].toString().equals("0"))) isInt = false;
         }
         
         if (isInt) super.insertString(offset, toInsert, notUsed);
         
      } else {
         Toolkit.getDefaultToolkit().beep();
      }
   }

} 

[\code]

implementiert.

an entsprechender stelle möchte ich darauf mit folgender funktion zurückgreifen:

[code]

private void mengeneingabe()  {
		
	StandardDocumentNumbers eingegebenes = new StandardDocumentNumbers(4);
	String eingegebeneMenge = (String)JOptionPane.showInputDialog("Bitte Menge eingeben (nur Zahlen)", "");
				
			
	try {
		eingegebenes.insertString(eingegebenes.getLength(), eingegebeneMenge, null);
	} catch (BadLocationException e) {
			System.out.println("es wurde keine zahl eingegeben");
			e.printStackTrace();
		}
			
		}

[\code]

leider klappt es nicht wie vorgesehen, weil
- ich kann mehr als 4-stellige zahlen eingeben ohne eine warnung zu bekommen
- ich kann auch buchstaben eingeben ohne eine warnung zu bekommen
- die länge des eingegebenen- eingegebenes.getLength()- wird mir immer mit 0 angegeben egal wie lange der eingegebene wert ist.

da so gar nichts klappt ,glaube ich die klasse "StandardDocumentNumbers" grundsätzlich falsch umgesetzt zu haben. ich hab erst einmal eine nacht darüber geschlafen - ohne allerdings auf den fehler gekommen zu sein und hoffe hier auf hilfe - vielleicht bin ich ja auf dem ganz falschen dampfer!
 

LordTerra

Aktives Mitglied
versuch doch einfach mit

Code:
    public boolean is_das_ne_zahl(String textfeld){

        return textfeld.matches( "[0-9]+" );
    }

ahja: [\code] funktioniert net... /code schon eher
 
G

Guest

Gast
herzlichen dank,

es funktioniert. warum es auf die ursprünglich vorgesehen weise nicht geklappt hat weiss ich zwar immer noch nicht - aber weshalb mit kanonen auf spatzen schiessen!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y JFormattedTextfield - Aktualisierung und Beschränkung AWT, Swing, JavaFX & SWT 4
Juelin Eingabensteuerung mit Textfield AWT, Swing, JavaFX & SWT 20
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
K JavaFX Taschenrechner textField auf 10stellen begrenzen AWT, Swing, JavaFX & SWT 26
Z textField.getText = null AWT, Swing, JavaFX & SWT 15
officialmaxl JavaFX Textfield getTextfield() in String speichern AWT, Swing, JavaFX & SWT 1
L Swing Wert vom Textfield in Array List hinzufügen AWT, Swing, JavaFX & SWT 2
R Textfield lässt sich nicht positionieren AWT, Swing, JavaFX & SWT 1
B JavaFX ListView in Kombination mit TextField AWT, Swing, JavaFX & SWT 5
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
L JavaFX Ich suche das passende Textfield Event AWT, Swing, JavaFX & SWT 1
Bluedaishi JavaFX JFoenix TextField KeyEvent AWT, Swing, JavaFX & SWT 2
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
F JavaFX textField Ausgabe automatisch kopieren AWT, Swing, JavaFX & SWT 7
M JavaFX String aus TextField reagiert nicht wie erwartet AWT, Swing, JavaFX & SWT 3
S JavaFX TextField auf Datentyp prüfen AWT, Swing, JavaFX & SWT 1
M JavaFX .setCellFactory () mit TextField AWT, Swing, JavaFX & SWT 4
L TextField Listener AWT, Swing, JavaFX & SWT 13
L TextField Eingabe in andere GUI übernehmen AWT, Swing, JavaFX & SWT 1
C JavaFX mit .setText() befülltes Textfield liefert anschließend mit .getText() den ursprünglichen Wert? AWT, Swing, JavaFX & SWT 1
K JavaFX Combobox, Textfield & setOnMouseClicked AWT, Swing, JavaFX & SWT 2
U Java FX Warten auf Textfield eingabe AWT, Swing, JavaFX & SWT 17
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
Y Listview Textfield vergrößern, Schrift anpassen AWT, Swing, JavaFX & SWT 0
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
U Eingabe von TextField in variable speichern AWT, Swing, JavaFX & SWT 2
J Eigene Klasse auf Basis Textfield in SceneBuilder anzeigen AWT, Swing, JavaFX & SWT 4
I JavaFX TextField auf Eingabe prüfen AWT, Swing, JavaFX & SWT 3
D JavaFX Nur Zahlen in Textfield AWT, Swing, JavaFX & SWT 4
D Textfield bei starten füllen. AWT, Swing, JavaFX & SWT 5
H Textfield bleibt im Hintergrund AWT, Swing, JavaFX & SWT 2
C JavaFX Zugriff auf TextField aus einer anderen Klasse AWT, Swing, JavaFX & SWT 4
P LayoutManager TextField.setSize(); in einem FlowLayout AWT, Swing, JavaFX & SWT 3
T Internes Event-handling in TextField/JTextField AWT, Swing, JavaFX & SWT 2
O Swing Text aus Textfield auslesen AWT, Swing, JavaFX & SWT 8
1 Textfield: jede Buchstabe ein Bild AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
S LayoutManager TextField verschwindet / wird klein AWT, Swing, JavaFX & SWT 4
S Button in Textfield ziehen AWT, Swing, JavaFX & SWT 4
T Einen Variablen Wert in einem TextField AWT, Swing, JavaFX & SWT 4
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
F Swing TextField Eingabe in Variable umwandeln um zum Beispiel zu rechnen. AWT, Swing, JavaFX & SWT 3
G JavaFX TextField Eingabe formatieren/einschränken AWT, Swing, JavaFX & SWT 2
C Integer in ein Textfield schreiben. AWT, Swing, JavaFX & SWT 4
P TextField beim klicken von JButton speichern AWT, Swing, JavaFX & SWT 17
C Swing TextField auslesen AWT, Swing, JavaFX & SWT 21
MiMa Integer Zahl in Textfield ausgeben AWT, Swing, JavaFX & SWT 12
K Per Textfield Methode ausführen AWT, Swing, JavaFX & SWT 6
B JComboBox ans Textfield gelangen AWT, Swing, JavaFX & SWT 4
A Größe von Textfield bestimmen AWT, Swing, JavaFX & SWT 9
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
T jPanels im jFrame bewegen - Auch ohne Textfield? AWT, Swing, JavaFX & SWT 4
B AWT Mit TextField Zahlen einlesen lassen AWT, Swing, JavaFX & SWT 34
R Textfield auslesen auf Anforderung AWT, Swing, JavaFX & SWT 4
A Button und Textfield AWT, Swing, JavaFX & SWT 4
A TextField und Label AWT, Swing, JavaFX & SWT 8
H gui textfield AWT, Swing, JavaFX & SWT 5
A TextField: Textfeld teilweise editierbar AWT, Swing, JavaFX & SWT 2
R TextField auslesen & in Objekteigenschaften speichern AWT, Swing, JavaFX & SWT 22
E Button in TextField eibetten? AWT, Swing, JavaFX & SWT 4
Screen Focus Problem , KeyListener, TextField , Key AWT, Swing, JavaFX & SWT 4
W textfield zentriert AWT, Swing, JavaFX & SWT 2
N Swing Textfield listener AWT, Swing, JavaFX & SWT 2
H Zeich in einem TextField farblich markieren?! AWT, Swing, JavaFX & SWT 5
D Swing [BoxLayout] Nur TextArea und nicht TextField vergroessen AWT, Swing, JavaFX & SWT 2
D Textfield auswerten AWT, Swing, JavaFX & SWT 4
M Swing InputVerifer auf TextField AWT, Swing, JavaFX & SWT 14
B setText() auf TextField mit Document AWT, Swing, JavaFX & SWT 2
G Problem mit Textfield AWT, Swing, JavaFX & SWT 2
G Den Inhalt von einem Textfield aktualisieren AWT, Swing, JavaFX & SWT 6
D Inhalt von Textfield nach ComboBox AWT, Swing, JavaFX & SWT 2
E Swing Button ActionListener Infos aus Textfield und ComboBox AWT, Swing, JavaFX & SWT 3
G TextField im Hintergrund AWT, Swing, JavaFX & SWT 2
Z TextField aus ActionListener von JButton verändern AWT, Swing, JavaFX & SWT 10
O ComboBox hinter TextField? AWT, Swing, JavaFX & SWT 8
T Checkbox & Textfield AWT, Swing, JavaFX & SWT 5
N Textfield feste größe? AWT, Swing, JavaFX & SWT 1
M Datum Textfield AWT, Swing, JavaFX & SWT 6
S TextField fehler AWT, Swing, JavaFX & SWT 3
D Problem mit TextField AWT, Swing, JavaFX & SWT 22
C Textfield Background auf Standard zurücksetzen AWT, Swing, JavaFX & SWT 2
V keyListener soll textfield adden AWT, Swing, JavaFX & SWT 2
R TextField bringt NullPointerException bei setVisible() AWT, Swing, JavaFX & SWT 12
J JComboBox Eintrag soll TextField aktualisieren AWT, Swing, JavaFX & SWT 3
P Komponentenentwicklung mit TextField und Label AWT, Swing, JavaFX & SWT 10
K Problem mit TextField Strings AWT, Swing, JavaFX & SWT 2
S Textfield nummer merken AWT, Swing, JavaFX & SWT 3
M problem mit textfield-aktualisierung AWT, Swing, JavaFX & SWT 4
S Fehler beim Auslesen des Textes im textfield AWT, Swing, JavaFX & SWT 8
G Zugriff auf TextField geht nicht AWT, Swing, JavaFX & SWT 5
V Werte aus TextField in eine andere Klasse? AWT, Swing, JavaFX & SWT 2
M Textfield AWT, Swing, JavaFX & SWT 8
S "größeres Problem" mit JComboBox und Textfield AWT, Swing, JavaFX & SWT 35
P [TextField] cursor setzten AWT, Swing, JavaFX & SWT 2
S Eingabe einschränken bei TextField AWT, Swing, JavaFX & SWT 19
S AWT: Probleme mit TextField AWT, Swing, JavaFX & SWT 4
S TextField: Zeilenumbrüche AWT, Swing, JavaFX & SWT 3
E Zeilenumbruch in einem AWT TextField AWT, Swing, JavaFX & SWT 2
F requestFocus() auf ein TextField AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben