[CODE]



public class TableSimpleSelect extends JDialog
{
private void init()
{

table = new TableComponent(form);
numPaginaCorr = 1;
this.fillTable();
table.setDialogSimpleSel(this);
table.getTableHeader().addMouseListener(new HeaderMouseListener());
CellHeaderRenderer tabRenderer = new CellHeaderRenderer();
table.setDefaultRenderer(Object.class,tabRenderer) ;


}


public TableComponent getTable()
{
return this.table;
}

public int getSelectedTableRow()
{
return table.getSelectedRow();
}


private class HeaderMouseListener implements MouseListener
{

public void mouseClicked(MouseEvent e) {
TableColumnModel columnModel = table.getColumnModel();
int viewColumn = columnModel.getColumnIndexAtX(e.getX());
System.out.println("n colonna " + viewColumn);


}

public void mousePressed(MouseEvent e) {

}
public void mouseExited(MouseEvent e) {

}
public void mouseEntered(MouseEvent e) {

}
public void mouseReleased(MouseEvent e) {

}
}

class CellHeaderRenderer extends DefaultTableCellRenderer {
//class CellRenderer extends JLabel implements TableCellRenderer{
private TableCellRenderer defaultRenderer;

public CellHeaderRenderer() {

}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected,
boolean hasFocus,
int row, int column)
{
FieldProps fp =(FieldProps)form.getBo().getMapSQL().get(colNames[column]);
if(fp.isNumericType(fp.getSqlType()))
{
setHorizontalAlignment(RIGHT);
}
else if(fp.getSqlType() == fp.TYPE_STRING)
{
setHorizontalAlignment(LEFT);
}
else if(fp.getSqlType() == fp.TYPE_TIMESTAMP)
{
setHorizontalAlignment(CENTER);
}


System.out.println("RENDERER " + numRenderer);
numRenderer++;
if(value instanceof Component)
return (Component)value;
return this;

}

}

}






[\CODE]


Ho tolto il codice che non dovrebbe influire.Comunque in sostanza è una dialog con una table e dei bottoni di navigazione.
Ho dovuto implementare qui i renderer perchè non ho accesso al componente TableComponent che comunque estende JTable.