R
Hi,
also bei einem TextField könnte man es so ähnlich machen um nur Zahleneingabe zu ermöglichen:
textField=new JTextField();
textField.addKeyListener(this);
//...
public void keyReleased(KeyEvent e)
{
if(e.getSource()==textField)
{
String input=textField.getText();
if(!Character.isDigit(input.charAt(input.length()-1)))
{
textField.setText(input.substring(0,input.length()-1));
}
}
}
Ich hab mich mit Tabellen in Java bisher nicht so intensiv beschäftigt, daher kann ich dir leider nicht so genau sagen wie das hier funktioniert, dürfte aber vom Prinzip her ähnlich sein. Mit den folgenden Methoden kannst du herausfinden welche Zelle gerade bearbeitet wird:
public boolean isEditing()
public int getEditingRow()
public int getEditingColumn()
Mit diesen Methoden kannst du den Input aus der Zelle holen und etwas in die Zelle schreiben:
public Object getValueAt(int row, int column)
public void setValueAt(Object aValue, int row, int column)
Fazit: du musst überprüfen ob die Zelle, die gerade vom Benutzer editiert wird, diejenige ist, die nur Zahlen enthalten darf, gegebenfalls den Inhalt der Zellen holen, diesen überprüfen (eventuell bietet sich bzgl. des Kommas und der Zahlen ein regulärer Ausdruck an), bereinigen und in die Zelle zurück schreiben.
Aber wie gesagt, ich kenn mich mit Tabellen nicht so gut aus, ist nur ne Vorstellung von mir wie es funktionieren könnte, aber ich hoffe ich konnte dir etwas helfen.
MfG