Hi,
also folgendes, für mich nicht lösbares Problem:
Ich habe eine leere JTable, in diese Tabelle möchte ich werte eintragen und diese in ein Vector abspeichern.
1. Momentan lassen sich in der ersten spalte werte eingeben, aber wenn ich eine andere zelle markiere verschwindet die eingabe.
2. wenn ich in der 2. spalte eine eingabe mache und mit dem cursor nach unten drücke kopiert er den inhalt eine zelle runter?
Die anderen spalten verhalten sich wie bei 1.
Ich hänge schon ne weile an diesem problem und komme irgendwie nicht weiter. Ich hoffe jemand kann mir auf die sprünge helfen. Danke!
Mein Model
Klasse Person
also folgendes, für mich nicht lösbares Problem:
Ich habe eine leere JTable, in diese Tabelle möchte ich werte eintragen und diese in ein Vector abspeichern.
1. Momentan lassen sich in der ersten spalte werte eingeben, aber wenn ich eine andere zelle markiere verschwindet die eingabe.
2. wenn ich in der 2. spalte eine eingabe mache und mit dem cursor nach unten drücke kopiert er den inhalt eine zelle runter?
Die anderen spalten verhalten sich wie bei 1.
Ich hänge schon ne weile an diesem problem und komme irgendwie nicht weiter. Ich hoffe jemand kann mir auf die sprünge helfen. Danke!
Mein Model
Code:
/*
* DatenModell.java
*
* Created on 09.01.2008, 17:28:09
*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package util;
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
/**
*
* @author b0SSti
*/
public class DatenModell extends AbstractTableModel {
String[] feldname = {"Anzahl Gesamt", "name", "Stimmen", "ergebnis", "Gesamt", "Divisionsergebnis", "bla"};
private Vector<Person> daten = null;
public DatenModell() {
getData();
}
public Vector<Person> getData() {
if (daten == null) {
daten = new Vector<Person>();
Person p = new Person();
daten.add(p);
daten.add(p);
daten.add(p);
}
return daten;
}
public int getColumnCount() {
return feldname.length;
}
public int getRowCount() {
return getData().size();
}
public String getColumnName(int col) {
return feldname[col];
}
public boolean isCellEditable(int row, int col) {
return true;
}
public Object getValueAt(int row, int col) {
Person p = daten.elementAt(row);
switch (col) {
case 1:
return p.getPersonName();
case 2:
return p.getAnz();
case 3:
return p.getStimmen();
default:
return null;
}
}
public void setValueAt(Object value, int row, int col) {
Person p = daten.get(row);
switch (col) {
case 1:
p.setPersonName((String) value);
break;
case 2:
p.setAnz((Integer) value);
break;
case 3:
p.setStimmen((Integer) value);
break;
}
fireTableCellUpdated(row, col);
}
}
Klasse Person
Code:
package util;
import java.util.Vector;
public class Partei {
private String personName = "";
private int anz = 0;
private int gesamt= 0;
public Vector<Partei> vPartei = null;
public Partei() {
}
public Partei(String name, int stimmen, int gesamt) {
super();
this.personName = name;
this.anz = stimmen;
this.gesamt = gesamt;
}
public String getPersonName () {
return personName;
}
public void setPersonName (String val) {
this.personName = val;
}
public int getAnz () {
return anz;
}
public void setAnz (int val) {
this.anz = val;
}
public int getGesamt () {
return gesamt;
}
public void setGesamt (int val) {
this.gesamt = val;
}
}