Nachkommastellen auf 2 reduzieren

  • Themenstarter Themenstarter nordlender
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
N

nordlender

Gast
Hallo Leute,

wie kann man eine Zahleingabe in einem Feld (Tabelle) mit Nachkommastellen von vorne auf 2 Reduzieren? Mit Formatieren klappt es, aber ich möchte bei der Eingabe, dass das Programm merkt, dass Kommazeichen eingetippt wurde und danach nur noch max. 2 Zeichen erlauben und danach nicht mehr auf Eingabe reagieren.

Freue mich über jeden funktionierenden Tipp!
 
In einem Swing Applikation gibt es eine Tabelle mit editierter Spalte. In dieser Spalte kann der User eigene Werte eingeben.
 
Ich würde mal in richtung KeyListener schaun... Weiß aba nicht wie sich das in der Tabelle verhält...

EDIT: Vergiss das da oben ^^ Machs mit nem DocumentListener. In etwa so:

[HIGHLIGHT="Java"]public void changedUpdate(DocumentEvent evt)
{
valid(evt);
}
public void insertUpdate(DocumentEvent evt)
{
valid(evt);
}
public void removeUpdate(DocumentEvent evt)
{
valid(evt);
}

public void valid(DocumentEvent evt)
{
String regex = new String("[\\-]{0,1}[0-9]*[\\.,]{0,1}[0-9]*");
if(!getText().matches(regex))
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
int curs = getCaretPosition();
setText(lasttext);
if (!"".equals(lasttext) && curs > 0) {
setCaretPosition(curs - 1);
}
}
});
}
else
{
lasttext = getText();
}
}[/HIGHLIGHT]

Wobei der RegEx glaub eher dafür ausgelegt war ausschließlich Zahlen zu gestatten. (Ich glaub auch - und , waren erlaubt). Bin etz aba zu Faul das nachzuschaun. Und außerdem hab ich Feierabend.

Servus! 🙂
 
Zuletzt bearbeitet von einem Moderator:
Schau mal in die FAQ, dort findest du, wie du als Zellen eigene Klassen/Objekte setzt. JFormattedTextField hört sich recht hilfreich an 😉 .
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben