Hi, ich möchte in meiner Tabelle (JTable) für eine Spalte nur bestimmte Eingaben zulassen, z.B nur Integer für die erste Spalte, Doubles für die 2. Spalte, etc.
Ich dachte ich könnte das mit einem eigens abgeleiteten DefaultTableModel bewerkstelligen, klappte allerdings nicht (dann verwarf er alles was ich eingab):
Edit: Habe jetzt mal diese Sache hier ausprobiert:
Nun lässt er zwar nur Integer zu, aber es gibt eine Exception:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "sfsfs"
kann ich die vielleicht einfach missachten? (oder halt mit try catch abfangen und dann einfach ignorieren?)
Oder bin ich auf dem völlig falschen Weg?
Bin dankbar für jeden Vorschlag
Ich dachte ich könnte das mit einem eigens abgeleiteten DefaultTableModel bewerkstelligen, klappte allerdings nicht (dann verwarf er alles was ich eingab):
Java:
import javax.swing.table.DefaultTableModel;
public class Tabelle extends DefaultTableModel{
@Override
public void setValueAt(Object aValue, int row, int col) {
if (aValue instanceof Integer) {
super.setValueAt(aValue, row, col);
}
}
}
Edit: Habe jetzt mal diese Sache hier ausprobiert:
Java:
@Override
public void setValueAt(Object aValue, int row, int col) {
if (Integer.valueOf(aValue.toString())!=null) {
super.setValueAt(aValue, row, col);
}
Nun lässt er zwar nur Integer zu, aber es gibt eine Exception:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "sfsfs"
kann ich die vielleicht einfach missachten? (oder halt mit try catch abfangen und dann einfach ignorieren?)
Oder bin ich auf dem völlig falschen Weg?
Bin dankbar für jeden Vorschlag
Zuletzt bearbeitet: