hi zusammen,
mein problem ist folgendes. sobald ich meinen persönlichen cellrenderer aufrufe, der von defaultcellrenderer abgeleitet ist kann ich meine cellen nicht mehr selecten. Es ist so, dass ich verschiedene cellrenderer auf einzelne kolonnen anwende. Und nur dort wo ich keinen cellrenderer anwende kann ich noch selecten.
so wende ich den cellrenderer an:
nur kolonne 0 ist noch selectable...
und das ist einer der cellrenderer:
hab ich etwas vergessen, oder muss man auf etwas speziell achten? liegt es am defaultcellrenderer
danke für jede hilfe...
gruss
mein problem ist folgendes. sobald ich meinen persönlichen cellrenderer aufrufe, der von defaultcellrenderer abgeleitet ist kann ich meine cellen nicht mehr selecten. Es ist so, dass ich verschiedene cellrenderer auf einzelne kolonnen anwende. Und nur dort wo ich keinen cellrenderer anwende kann ich noch selecten.
so wende ich den cellrenderer an:
Code:
jtable.getColumnModel().getColumn(0).setPreferredWidth(100);
jtable.getColumnModel().getColumn(1).setPreferredWidth(250);
jtable.getColumnModel().getColumn(1).setCellRenderer(new BrandCellRenderer());
jtable.getColumnModel().getColumn(2).setPreferredWidth(20);
jtable.getColumnModel().getColumn(2).setCellRenderer(new NumberFormatCellRenderer());
jtable.getColumnModel().getColumn(3).setPreferredWidth(20);
jtable.getColumnModel().getColumn(3).setCellRenderer(new NumberFormatCellRenderer());
nur kolonne 0 ist noch selectable...
und das ist einer der cellrenderer:
Code:
public class BrandCellRenderer extends DefaultTableCellRenderer{
/**
*
*/
private static final long serialVersionUID = -1239007292932147601L;
public BrandCellRenderer(){
setOpaque(true);
setBackground(Color.white);
}
public Component getTableCellRendererComponent(
JTable table, Object value, boolean b1, boolean b2, int i, int k){
String text = String.valueOf(value);
String memberOf = "";
for(Brand b: Settings.getSettings().getBrands()){
if(b.getName().equals(text)) {
memberOf = b.getMemberOf().substring(3,4);
break;
}
}
if(memberOf.equals("g")){
setFont(new Font("Groupe Leader", Font.BOLD, 13));
}
if(memberOf.equals("m")){
setFont(new Font("Groupe Medium", Font.ITALIC, 13));
}
if(memberOf.equals("n")){
setFont(new Font("Groupe Little", Font.PLAIN,11));
}
setHorizontalAlignment(SwingConstants.LEFT);
setText(text);
return this;
}
}
hab ich etwas vergessen, oder muss man auf etwas speziell achten? liegt es am defaultcellrenderer
danke für jede hilfe...
gruss
Zuletzt bearbeitet: