Hallo!
In meiner Tabelle soll die 5 Spalte kein Text sondern Icons enthalten.
Meine Daten bekommt die Tabelle aus einem ArrayList<Person>.
In die 5 Spalte war bei mir bis jetzt Person.getCountry(); und die Zelle hat nur den Text angezeigt.
Jetzt möchte ich statt Text Icon anzeigen.
Wie mache ich das bloß fehlt vielleicht was im code.
Hat jemand ne Idee?
Danke schon mal
CellRenderer für meine Tabelle.
Mehr habe ich in der Klasse nicht drin.
In meiner Tabelle soll die 5 Spalte kein Text sondern Icons enthalten.
Meine Daten bekommt die Tabelle aus einem ArrayList<Person>.
In die 5 Spalte war bei mir bis jetzt Person.getCountry(); und die Zelle hat nur den Text angezeigt.
Jetzt möchte ich statt Text Icon anzeigen.
Wie mache ich das bloß fehlt vielleicht was im code.
Hat jemand ne Idee?
Danke schon mal
Java:
public class TableModel extends AbstractTableModel {
...
@Override
public Class<?> getColumnClass(int columnIndex) {
if(columnIndex == 4){
return Icon.class;
}
return super.getColumnClass(columnIndex);
}
@Override
public String getColumnName(int spalte) {
...
}
@Override
public boolean isCellEditable(int row, int col) {
return false;
}
@Override
public int getColumnCount() {
...
}
@Override
public int getRowCount() {
return daten.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Person person = daten.get(rowIndex);
switch (columnIndex) {
...
case 4:
if (person.getCountry().equals("de"){
return Icons.DE;
} else ...
}
return Icons.eu;
case 5:
return person.getName();
case 6:
return person.getNochWas(); //usw
default:
return null;
}
}
...
}
CellRenderer für meine Tabelle.
Mehr habe ich in der Klasse nicht drin.
Java:
public class CellRenderer extends DefaultTableCellRenderer {
public int getHorizontalAlignment() {
return SwingConstants.CENTER;
}
}
Zuletzt bearbeitet: