So, jetzt zum CellEditor.
Ich will das man in die Zellen meines JTables NUR Zahlen von 1-9 eintragen kann (Sudoku Spielfeld). Es soll sofort verhindert werden, dass mehr wie eine Stelle eingetragen wird und andere Zeichen.
Deshalb habe ich diese Klasse hier von SUN benutzt:
http://java.sun.com/docs/books/tutorial/uiswing/components/examples/IntegerEditor.java
und folgendes in den JTable geschrieben:
Sobald ich nun eine andere Zahl eingebe kommt ein Error und ich muss die Zahl korrigieren.
Es ist aber trotsdem möglich andere Zahlen einzugeben, nur kommt eben dann der Error.
Gibt es auch einen Möglichkeit das die andere Zahlen erst garnicht eingegeben werden können?
d.h. nur eine Zahl und die darf nur 1-9 sein?
Das zweite Problem ist, ausser den 1-9 würde ich gerne noch "null" akzeptieren.
zB Man will eine Zahl in ein Feld schreiben, merkt aber dann, dass das nicht geht. Also will man ohne Eingabe wieder aus dem Editmode gehen.
Ich habe leider keine Möglichkeit gefunden das "null" mit in die validValues aufzunehmen.
Grüsse David
Ich will das man in die Zellen meines JTables NUR Zahlen von 1-9 eintragen kann (Sudoku Spielfeld). Es soll sofort verhindert werden, dass mehr wie eine Stelle eingetragen wird und andere Zeichen.
Deshalb habe ich diese Klasse hier von SUN benutzt:
http://java.sun.com/docs/books/tutorial/uiswing/components/examples/IntegerEditor.java
und folgendes in den JTable geschrieben:
Code:
grid.setDefaultEditor(Integer.class, new IntegerEditor(1, 9));
Es ist aber trotsdem möglich andere Zahlen einzugeben, nur kommt eben dann der Error.
Gibt es auch einen Möglichkeit das die andere Zahlen erst garnicht eingegeben werden können?
d.h. nur eine Zahl und die darf nur 1-9 sein?
Das zweite Problem ist, ausser den 1-9 würde ich gerne noch "null" akzeptieren.
zB Man will eine Zahl in ein Feld schreiben, merkt aber dann, dass das nicht geht. Also will man ohne Eingabe wieder aus dem Editmode gehen.
Ich habe leider keine Möglichkeit gefunden das "null" mit in die validValues aufzunehmen.
Grüsse David