Hallo!
Ich habe eine JCombobox die als Datentyp folgende Rückgabewert hat:
und als renderer
Diese funktioniert auch so weit gut. Nun soll diese ComboBox auch in einer Tabelle als Celleditor funktionieren. Wie gebe ich an, dass nicht das Datentyp selber an die Methode setValueAt im Tabellemodel übergeben wird sondern dass Objekt.getId(). Denn Momentan kommt es zur Fehlermeldung
Um es kurz zu Fassen. Es ist eine Liste mit Firmennamen woebi jede eine Id hat. Wenn die Firma in dieser Tabelle ausgewählt wird sieht man den Firmenname aber zurückgeben werden soll die Firmenid
Ich hoffe es ist verständlich.
Gruß niesel
Ich habe eine JCombobox die als Datentyp folgende Rückgabewert hat:
Java:
public class AGehmerSchnell {
private String firma;
private String anrede;
private String ansprechPartner;
private int id;
public AGehmerSchnell(String firma, String anrede, String ansprechPartner, int id) {
this.firma = firma;
this.anrede = anrede;
this.ansprechPartner = ansprechPartner;
this.id = id;
}
public AGehmerSchnell() {
}
@Override
public String toString() {
if(this.firma.length() > 0 || this.anrede.length()>0 || this.ansprechPartner.length()>0) {
return this.firma + ", " + this.anrede+ " "+this.ansprechPartner;
}else {
return "";
}
}
public String getFirma() {
return this.firma;
}
public String getAnrede() {
return this.anrede;
}
public String getAnsprechPartner() {
return this.ansprechPartner;
}
public int getId() {
return id;
}
public void setFirma(String firma) {
this.firma = firma;
}
public void setAnrede(String anrede) {
this.anrede = anrede;
}
public void setAnsprechPartner(String ansprechPartner) {
this.ansprechPartner = ansprechPartner;
}
public void setId(int id) {
this.id = id;
}
}
und als renderer
Java:
public class AgComboBoxItemRenderer extends BasicComboBoxRenderer {
@Override
public Component getListCellRendererComponent(
JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index,
isSelected, cellHasFocus);
// if (value != null)
if (index == -1) {
AGehmerSchnell item = (AGehmerSchnell) value;
setText(item.toString());
}
if (value != null) //if (index == -1)
{
AGehmerSchnell item = (AGehmerSchnell) value;
setText("" + item.toString());
}
return this;
}
}
Code:
empathie.PersonUndJob.AGehmerSchnell cannot be cast to java.lang.Integer
Ich hoffe es ist verständlich.
Gruß niesel
Zuletzt bearbeitet: