Icon im Tableheader von JTable

ChantalM

Mitglied
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);
	}
}
 
Was genau funktioniert nicht? Fehlermeldung etc....

sind die angaben bei renderer.getTableCellRendererComponent(header.getTable(),
aColumn.getHeaderValue(),false,false,-1,columnIndex); alle richtig so? Nur mal so aus neugier :)
 
Zurück