Kann das Icon im Tableheader von JTable mit mousePressed.MouseEvent nicht austauschen. Folgender Code funktioniert nicht. Hat jemand eine Lösung parat?
Code:
class TableHeaderMouseAdapter extends MouseAdapter{
public void mousePressed(MouseEvent e){
JTableHeader tableHeader=(JTableHeader)e.getSource();
int column=tableHeader.columnAtPoint(e.getPoint());
Component component=getRendererComponent(tableHeader,column);
((JLabel)component).setIcon(newIcon);
}
private Component getRendererComponent(JTableHeader header,int columnIndex){
TableColumn aColumn=header.getColumnModel().getColumn(columnIndex);
TableCellRenderer renderer=aColumn.getHeaderRenderer();
if(renderer==null){
renderer=header.getDefaultRenderer();
}
return renderer.getTableCellRendererComponent(header.getTable(),
aColumn.getHeaderValue(),false,false,-1,columnIndex);
}
}