hey leute!
ich hab ein TableModel (siehe unten) und ich möchte aber in der 3. spalte nicht den wert ausgeben lassen, sondern eine JComboBox machen, in der man dann etwas auswählen kann! wie mach ich das??
lg,
alex
lg,
alex[/img]
ich hab ein TableModel (siehe unten) und ich möchte aber in der 3. spalte nicht den wert ausgeben lassen, sondern eine JComboBox machen, in der man dann etwas auswählen kann! wie mach ich das??
lg,
alex
Code:
import java.util.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
/**
* Write a description of class MyTableModel here.
*
* @author (Alex Schlögl)
* @version (14.05.2008)
*/
public class SchuelerTableModel extends AbstractTableModel
{
private ArrayList<Schueler> data;
private String[] columns;
public SchuelerTableModel(ArrayList<Schueler> data)
{
this.data = data;
columns = new String[] { "Nummer", "Name", "Geschlecht", "Religion" };
}
public int getRowCount()
{
return data.size();
}
public int getColumnCount()
{
return columns.length;
}
public String getColumnName(int col)
{
return columns[col];
}
public boolean isCellEditable(int row, int col)
{
if(col == 0)
{
return false;
}
return true;
}
public Class getColumnClass(int c)
{
return getValueAt(0, c).getClass();
}
public void setValueAt(Object value, int row, int col)
{
Schueler s = data.get(row);
switch(col)
{
case 0: s.setNummer((String) value);
break;
case 1: s.setName((String) value);
break;
case 2: s.setGeschlecht((String) value);
break;
case 3: s.setReligion((String) value);
break;
}
fireTableCellUpdated(row, col);
}
public Object getValueAt(int row, int col)
{
Schueler s = data.get(row);
switch (col)
{
case 0: return s.getNummer();
case 1: return s.getName();
case 2: return s.getGeschlecht();
case 3: return s.getReligion();
}
return null;
}
public void schuelerHinzu(String nummer)
{
data.add(new Schueler(nummer, "", "", ""));
fireTableDataChanged();
}
public void schuelerEntfernen(int row)
{
data.remove(row);
fireTableDataChanged();
}
}
lg,
alex[/img]