ich habe eine Tabelle mit einer Spalte Boolean Werten
Wenn ich den Wert ändern möchte komme ich zwar in die entsprechende Funktion aber er ändert den Wert nicht von False auf true und umgekehrt!!
Ich sehe keine logischen Fehler!!!
brauche Hilfe von Aussenstehenden!!
hier der Quellcode vom Model:
[/code]
Wenn ich den Wert ändern möchte komme ich zwar in die entsprechende Funktion aber er ändert den Wert nicht von False auf true und umgekehrt!!
Ich sehe keine logischen Fehler!!!
brauche Hilfe von Aussenstehenden!!
hier der Quellcode vom Model:
Code:
package doc;
import javax.swing.table.AbstractTableModel;
public class EventTableModel extends AbstractTableModel {
public EventTableModel() {
}
@Override
public String getColumnName(int n) {
String name="";
switch(n){
case 0: name = "Event"; break;
case 1: name = "Start"; break;
case 2: name = "Ende"; break;
case 3: name = "Status"; break;
default: name="";
}
return name;
}
@Override
public int getColumnCount() {
return 4;
}
@Override
public int getRowCount() {
return 2;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Object obj = new Object();
switch(columnIndex){
case 0:
case 1:
case 2: obj = new String(); break;
case 3: obj = Boolean.FALSE;break;
default:
}
return (obj);
}
@Override
public Class<?> getColumnClass(int columnIndex) {
return getValueAt(0, columnIndex).getClass();
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return (columnIndex==3);
}
@Override
public void setValueAt(Object value, int rowIndex, int columnIndex) {
if (columnIndex==3){
System.out.println("in if schleife");
if((getValueAt(rowIndex, 3).equals(true))){
System.out.println("Status ist true");
value=Boolean.FALSE;
}else{
System.out.println("Status ist false"); // das zeigt er mir auch an
value=Boolean.TRUE; // Aber hier erfolgt keine Änd. Was ist hier falsch????
}
}
fireTableCellUpdated(rowIndex, columnIndex);
}
}